我需要一些特殊的過濾某些文本都在我的網站上,象下面這樣:簡單的str_replace()函數做的事情錯了 - WordPress的
function special_text($content) {
$search_for = 'specialtext';
$replace_with = '<span class="special-text"><strong>special</strong>text</span>';
return str_replace($search_for, $replace_with, $content);
}
add_filter('the_content', 'special_text', 99);
它做的事情在一個很好的方式,但是...
的內容如果有任何鏈接,如:<a title="specialtext" href="http://specialtext.com">specialtext</a>
,則標題和href文本也發生更改,並且鏈接斷開。
我該如何在那裏做例外?
有沒有一種方法,我可以把一些例外數組和str_replace()
只是跳過他們?
您可能會考慮使用[DOM解析器](https://www.google.com/webhp?#q=php+dom+parser)來實現此類功能。 –
是被其他任何東西包裹的「特殊文字」嗎?還是僅僅是文本字符串? – magnified