如果我有这样的字符串:
<a href="http://example.com/myPDF.pdf" rel="">myPDF12345431234</a>
什么是对str_replace的正确PHP函数调用,以便“”rel = ....“之后的所有内容都替换为空/空白?
为了进一步说明,链接标记之间的值是动态的和未知的,所以我无法调用它。
我正在寻找类似的东西:
$oldstring = array('<a href="', '" rel="" *until the end_of_string* ');
$replacewith = array=('', '');
$newstring = str_replace($oldstring, $replacewith, $URL);
将URL后面的所有内容(引号直到字符串末尾)替换为什么都是正确的方法是什么?
答案 0 :(得分:1)
这由正则表达式处理。以下内容取代了rel =&#34;&#34;到字符串的末尾。
$newstring = preg_replace('/ rel="".*$/','',$oldstring);
。*表示&#34;一切&#34;和$表示&#34;字符串结束&#34;。我在rel之前添加了一个空格,因为我认为你也想放弃它。
答案 1 :(得分:1)
使用preg_match:
preg_match("/(\<a href\=\\".*\\")\srel/", "<a href="http://example.com/myPDF.pdf" rel="">myPDF12345431234</a>", $output_array);
Var_dump($output_array);
答案 2 :(得分:0)
听起来您实际需要的是当前字符串的子字符串,直到rel
属性结束。
$newstring = substr($oldstring, 0, strpos($oldstring, 'rel=""'));