我有这个非常简单的php行($ html包含一些不那么长的文本,假设大约3000个字符):
$html = str_replace('href="http://www.myurl.com', 'href="http://subdomain.myurl.com', $html);
这很简单,我无法理解为什么它会起作用,也许是某些问题' //'?
任何帮助表示赞赏
答案 0 :(得分:0)
虽然str_replace()
与preg_replace()
相比相对快一些;由于我们此时不知道您的HTML字符串的内容,因此建议您使用preg_replace()
。这将是如何:
<?php
$html = "Lorem ipsum dolor enim purus, <a href='http://www.myurl.com/friendly-url-1/1'>sit amet</a> ";
$html .= "sed nascetur, ac et, habitasse adipiscing <a href='http://www.myurl.com/friendly-url-2/2'>velit elementum</a>, ";
$html .= "mauris nisi eros <a href='http://www.myurl.com/'>turpis aliquam</a> lorem.";
$rx = "#(href=['\"])(http[s]?:\/\/)?(www.)?(myurl\.com)#sim";
$rpl = "$1$2subdomain.$4";
$html = preg_replace($rx, $rpl, $html);
您可以(如果您选择)try out a simulated Example ...