这是我的文本字符串,我想要的是动态地围绕每个锚标记包裹<li></li>
。
例如: -
<li><a href="#"><b>\'Oz, un mundo de fantasa\'</b>: Clip con Weisz y Kunis</a></li>
<li><a href="#"><b>\'The Call\'</b>: 2 Trailer</a></li>
$text = '<a href="#"><b>\'Oz, un mundo de fantasa\'</b>: Clip con Weisz y Kunis</a>
<a href="#"><b>\'The Call\'</b>: 2 Trailer</a>
<a href="#"><b>\'Jack, el Cazagigantes\'</b>: Cartel para Espaa</a>
<a href="#"><b>\'Spring Breakers\'</b>: Trailer sin Censura</a>
<a href="#"><b>\'Los Croods\'</b>: Anuncios de Tv</a>
<a href="#"><b>\'The Way, Way Back\'</b>: Fecha de Estreno</a>
<a href="#"><b>\'Los Vengadores 2\'</b>: Thanos!!</a>';
答案 0 :(得分:3)
$text = str_replace("<a", "<li><a", str_replace('</a>', '</a></li>', $text));
应该这样做。
答案 1 :(得分:1)
$text = str_replace("<a href", "<li><a href", $text);
$text = str_replace("</a>", "</a></li>", $text);
答案 2 :(得分:0)
如果你想使用正则表达式,这样的东西也可以起作用..
$text = '<a href="#"><b>\'Oz, un mundo de fantasa\'</b>: Clip con Weisz y Kunis</a>
<a href="#"><b>\'The Call\'</b>: 2 Trailer</a>
<a href="#"><b>\'Jack, el Cazagigantes\'</b>: Cartel para Espaa</a>
<a href="#"><b>\'Spring Breakers\'</b>: Trailer sin Censura</a>
<a href="#"><b>\'Los Croods\'</b>: Anuncios de Tv</a>
<a href="#"><b>\'The Way, Way Back\'</b>: Fecha de Estreno</a>
<a href="#"><b>\'Los Vengadores 2\'</b>: Thanos!!</a>';
$pattern = '/\s*(<a.*<\/a>)*/';
$replacement = '<li>${1}</li>';
echo preg_replace($pattern, $replacement, $text);
答案 3 :(得分:0)
$text = '<a href="#"><b>\'Oz, un mundo de fantasa\'</b>: Clip con Weisz y Kunis</a>
<a href="#"><b>\'The Call\'</b>: 2 Trailer</a>
<a href="#"><b>\'Jack, el Cazagigantes\'</b>: Cartel para Espaa</a>
<a href="#"><b>\'Spring Breakers\'</b>: Trailer sin Censura</a>
<a href="#"><b>\'Los Croods\'</b>: Anuncios de Tv</a>
<a href="#"><b>\'The Way, Way Back\'</b>: Fecha de Estreno</a>
<a href="#"><b>\'Los Vengadores 2\'</b>: Thanos!!</a>';
$string1= Array("<a", "</a>");
$string2= Array("<li><a","</a></li>");
echo str_replace($string1, $string2, $text);