PHP如果字符串包含<a> tag</a>

时间:2013-12-08 18:51:22

标签: php html tags detection rel

假设我提交了一个包含以下消息的表单:

Hi! What's up? <a href="http://test.com">Click here</a> to check out <a href="http://test.com">my</a> website.

如何检测字符串是否包含带有PHP的<a>标记,然后将rel="nofollow"添加到其中?所以它会改为:

Hi! What's up? <a href="http://test.com" rel="nofollow">Click here</a> to check out <a href="http://test.com" rel="nofollow">my</a> website.

关于代码如何运作的一点推测?

$string = $_POST['message'];

if (*string contains <a> tags*) {
    *add rel="nofollow"*
}

1 个答案:

答案 0 :(得分:3)

总是存在DOMDocument对象。

<?php
$dom = new DOMDocument();
$dom->loadHTML('<a href="http://example.com">woo! examples!</a>');
foreach ($dom->getElementsByTagName('a') as $item) {
  $item->setAttribute('rel', 'nofollow'); 
}
echo $dom->saveHTML();
?>