У меня есть эта строка:PHP строки: Добавление HTML класса в строку
$str = '<div class="defaultClass">...</div>';
как я добавляемая рядом с «defaultClass» «MyClass»?
У меня есть эта строка:PHP строки: Добавление HTML класса в строку
$str = '<div class="defaultClass">...</div>';
как я добавляемая рядом с «defaultClass» «MyClass»?
Атрибут «class» - это просто список классов, разделенных пробелами.
$str = '<div class="defaultClass myClass">...</div>';
Или вы могли бы взломать его вместе, как это:
$str = '<div class="defaultClass">...</div>';
$str = str_replace('class="defaultClass', 'class="myClass defaultClass', $str);
//Result: <div class="myClass defaultClass">...</div>
Или с регулярными выражениями:
$str = '<div class="defaultClass">...</div>';
$str = preg_replace(':class="(.*defaultClass.*)":', 'class="\1 myClass"', $str);
//Result: <div class="defaultClass myClass">...</div>
Другие решения включают в себя с помощью XML, чтобы добавить его в узел DOM, который вероятно, меньше подверженных ошибкам, но более сложных и ресурсных.
Я бы рискнул предположить, что он спрашивает, как это сделать программно :-) –
спасибо, я использовал str_replace для этого: P – Alex
$str = '<div class="defaultClass ' . $myclass . '">...</div>';
Это предполагает MyClass переменная
Я хотел бы взглянуть на систему Called SimpleDom!
Heres небольшой пример!
// Create DOM from string
$html = str_get_html('<div class="defaultClass"><strong>Robert Pitt</strong></div>');
$html->find('div', 1)->class = 'SomeClass';
$html->find('div[id=hello]', 0)->innertext = 'foo';
echo $html; // Output: <div id="hello">foo</div><div id="world" class="bar">World</div>
еще несколько примеров: http://simplehtmldom.sourceforge.net/manual.htm
Некоторые Загрузки;): http://simplehtmldom.sourceforge.net/
С родной DOM:
$dom = new DOMDocument;
$dom->loadHTML('<div class="defaultClass">...</div>');
$divs = $dom->getElementsByTagName('div');
foreach($divs as $div) {
$div->setAttribute('class',
$div->getAttribute('class') . ' some-other-class');
}
echo $dom->saveHTML();
ли многоточие (...) на самом деле эти три периода или может это какая-то серия персонажей? Что еще в строке может отличаться от вашего примера? На самом деле простой ответ на ваш вопрос - это просто ввести «myClass» рядом с классом defaultClass, но я предполагаю, что вам нужно будет выполнить эту операцию на нескольких разных (и непредсказуемых) строках. : P –