如何使用它的文本从字符串在PHP

我有一个具有内容和锚标波纹管串删除锚点标记:如何使用它的文本从字符串在PHP

$string = 'I am a lot of text with <a href="#">links in it</a>'; 

,我想删除锚点标记,其文本(在它的链接)

我试图与strip_tags但它仍然是锚文本字符串中,在那之后,我试图与preg_replace这个例子:

$string = preg_replace('/<a[^>]+>([^<]+)<\/a>/i', '\1', $string); 

,但得到与strip_tags相同的结果。

我只是想删除锚标记后“我很多文字”。

有什么想法?

回答:

怎么样做爆炸。为了您上面的例子

$string = 'I am a lot of text with <a href="#">links in it</a>'; 

$string =explode("<a",$string);

echo $string[0];

回答:

一种方法是使用通配符.*<aa>

$string = 'I am a lot of text with <a href="#">links in it</a>'; 

$string = preg_replace('/ <a.*a>/', '', $string);

echo $string;

在多个锚occurence的情况下,你可以使用.*?。使你的模式'/ <a.*?a>/'

回答:

<?php 

function strip_tags_content($text, $tags = '', $invert = FALSE) {

preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);

$tags = array_unique($tags[1]);

if(is_array($tags) AND count($tags) > 0) {

if($invert == FALSE) {

return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text);

}

else {

return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text);

}

}

elseif($invert == FALSE) {

return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);

}

return $text;

}

echo strip_tags_content('<a href="google.com">google.com</a>')

?>

Strip_tags_content是用来删除所有标签连同它的内容请参见PHP手册的第一条评论Strip Tags

回答:

,你可以简单地使用stristr()这个(DEMO):

<?php 

$string = 'I am a lot of text with <a href="#">links in it</a> Lorem Ipsum';

//Get part before the <a

$stringBfr = stristr($string,'<a', true);

//get part after and along with </a>

$stringAftr = stristr($string,'</a>');

//Remove </a>

$stringAftr = str_replace('</a>', '', $stringAftr);

//concatenate the matched string.

$string = $stringBfr.$stringAftr;

var_dump($string);

以上是 如何使用它的文本从字符串在PHP 的全部内容, 来源链接: utcz.com/qa/261130.html

回到顶部