简体   繁体   English

我如何包装 <li></li> 动态地围绕每个锚标记?

[英]How do i wrap a <li></li> around each anchor tag dynamically?

This is my text string, What i want is wrap a <li></li> around each anchor tag dynamically. 这是我的文本字符串,我想要的是动态地在每个锚标签周围包裹一个<li></li>

Ex:- 例如:-

<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>';
$text = str_replace("<a", "<li><a", str_replace('</a>', '</a></li>', $text));

应该做。

$text = str_replace("<a href", "<li><a href", $text);
$text = str_replace("</a>", "</a></li>", $text);

if you desire to use regular expressions something like this could work as well.. 如果您希望使用正则表达式,则类似的方法也可以工作。

$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);
$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);  

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM