我希望这是一个关于php substr命令的简单问题。
在对MySQL查询执行UNION之后,事实证明我需要更改其中一个连接表中的项的行为。我能做到这一点的唯一方法是在列中标识一个URL,该列以http://www.i开头,使其对其他表的url唯一。
这在理论上是有效的,它确实产生了所需的输出,其中的字符直到www中的“点”。超出此点的任何内容似乎都会被忽略,因此只要插入“i”,它就无法正常工作。
这是代码($ f8x代表网址)
<?php if (substr( $f8x, 0, 20 ) === "<a href=http://www.i") {
echo "nothing";
}
else {
echo "<a href='http://www.example.com/xyz'>Show more ></a></div>";
}
?>
任何帮助非常感谢
由于
答案 0 :(得分:1)
看起来好像是
中的拼写错误<?php if (substr( $f8x, 0, 20 ) === "<a href=http://www.i") {
href之前应该有'
或"
,否则它只是无效。
你可以尝试:
<?php if (substr( $f8x, 0, 21 ) === "<a href='http://www.i") {
否则,更清晰的识别URL的方法是使用以下内容,它只是尝试在字符串(haystack)中的任何位置获取该URL(针):
<?php if (strpos($f8x, 'http://www.i') !== false) {
答案 1 :(得分:0)
将substr
的长度更改为19:
if (substr( "<a href=http://www.i", 0, 19 ) === "<a href=http://www.i")
echo "nothing";
else
echo "<a href='http://www.example.com/xyz'>Show more ></a></div>";