Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert HTML "class" attribute to css selector using php language?

Tags:

regex

php

How to convert a string with class into a selector even if it contains many spaces between classes?

Input data:

$html_classes = 'class1    class2  class3 ';

Necessary result:

.class1.class2.class3

This example is not appropriate as there may be many spaces between classes

$result = '.' . str_replace( ' ', '.', $html_classes )
like image 269
Alex Vasilyev Avatar asked Jul 03 '26 15:07

Alex Vasilyev


2 Answers

Just replace all extra spaces to singles first. And run trim() to remove spaces on the beginning and at the end.

$html_classes = 'class1    class2  class3 ';
$html_classes = trim(preg_replace('/\s+/',' ',$html_classes));
$result = '.' . str_replace(' ','.',$html_classes);
like image 159
amedv Avatar answered Jul 06 '26 05:07

amedv


Try this:

<?php
$html_classes = 'class1    class2  class3 ';
$parts = explode(" ", $html_classes);
$results = "";
foreach($parts as $c){
    if($c != ""){
        $results .= "." . $c;
    }
}
echo $results;
?>

The results I got:

.class1.class2.class3

Hope that helps.

like image 20
Twisty Avatar answered Jul 06 '26 05:07

Twisty



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!