2014-09-27 23 views
0

我有一個字符串變量$str其中包含頁面的一部分的HTML。我需要將CSS屬性text-align:justify添加到HTML中的所有<p>元素(最好使用simple_html_dom解析器)。PHP:如何使用simple_html_dom解析器將CSS text-align屬性添加到元素的已經存在的內聯樣式屬性?

某些<p>元素已具有內聯style屬性,其他元素則不具有。所以我不能這樣做

$str_html = str_get_html($str); 
foreach ($str->find('p') as $p) { 
    $p->style='text-align:justify;'; 
} 

因爲這將導致已經申請到了<p>元素的任何其他樣式。

PS: - 我不能使用JQuery。我可以使用JS,但只能用它作爲最後的手段。

+1

我不使用simple_htmL_dom解析器,但是什麼時候你這樣做:'$ P->風格= $ P->風格+'文本對齊:justify;';'以便其他樣式屬性不會被刪除。 – Bernd 2014-09-27 14:57:36

+3

我的意見是,你應該直接在css中做。第二個選擇將通過在JavaScript和最後將php php。如果可能,我總是儘量避免內聯css – 2014-09-27 15:01:04

+3

@Bernd字符串連接運算符在PHP中是'。',而不是'+' – TML 2014-09-27 15:01:24

回答

3

你可以串聯,而不是重新分配

$str_html = str_get_html($str); 
foreach ($str->find('p') as $p) { 
    $p->style .= '; text-align:justify;'; 
}