我有以下代码。
<a href="/29486389/Author_-_Name_of_Song.mp3/" class="popover-with-html hidden-phone">Andra - Inevitabil va fi bine.mp3</a>
如何使用正则表达式替换此字符串,但不会丢失字符串中的部分。看起来像这样
<a href="melodie/Author_-_Name_of_Song.mp3.html/" class="popover-with-html hidden-phone">Author - Name of Song</a>
我知道我需要使用这样的模式:
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
非常感谢。
答案 0 :(得分:1)
<a\s+href\s*=\s*"/\d+/(.+?)_-_(.+?)\.mp3/"\s+class\s*=\s*"popover-with-html hidden-phone">.+?</a>
$pattern = '#<a\s+href="/\d+/(.+?)_-_(.+?)\.mp3/"\s+class="popover-with-html hidden-phone">.+?</a>#is';
$replacement = '<a href="melodie/$1_-_$2.mp3.html/" class="popover-with-html hidden-phone">$1 - $2</a>';
$my_clean_html_code = preg_replace($pattern, $replacement, $my_html_code);
<a href="/29486389/Author_-_Name_of_Song.mp3/" class="popover-with-html hidden-phone">Andra - Inevitabil va fi bine.mp3</a> <a href="/29486389/Author2_-_sdfsd475.mp3/" class="popover-with-html hidden-phone"> Andra - Inevitabil va fi bine.mp3 </a>
<a href="melodie/Authodr_-_Name_of_Song.mp3.html/" class="popover-with-html hidden-phone">Author - Name_of_Song</a> <a href="melodie/Author2_-_sdfsd475.mp3.html/" class="popover-with-html hidden-phone">Author2 - sdfsd475</a>