检查字符串是否包含特定单词



我需要检查URL地址是否包含一些文本。所以我创建了这个代码。

function url_mapping_name( $urlname ) {
if (str_contains($urlname, 'amazon.de')) {
echo "amazon;
}
if (str_contains($urlname, 'brickset')) {
echo 'brickset';
} else {
echo 'no URL';
}

我想说。查找";amazon.de;在$urlname中,如果URL包含amazon.de,则返回amazon;如果URL包含brickset.com,则返回brickset;如果未找到,则返回无URL

但有些地方出了问题,我确实知道我在哪里犯了错误

谢谢你帮我。

echo"amazon";

缺少一个引号。注意颜色编码的变化。这通常是由于缺少引号造成的。

假设由";返回";你的意思是,让函数将该值分配给一个变量,所有的输出字符串都应该是

返回'string';

而不是

echo'string';

一个潜在的额外问题是使用2 if语句而不是使用else-if。如果你确实想回显字符串而不是返回它们,它应该是这样的,所以当它等于"amazon"时,它也不会回显"no url">

function url_mapping_name( $urlname ) {
if (str_contains($urlname, 'amazon')) {
echo 'amazon';
} else if (str_contains($urlname, 'brickset')) {
echo 'brickset';
} else {
echo 'no URL';
}

感谢您的帮助,我使用了以下改进,现在可以使用了。

  1. 我修复了结束引号
  2. 用回波替换回波
  3. 使用elseif-它返回";amazonno URL";正如@aynber所写
function url_mapping_name( $urlname ) {
if (str_contains($urlname, 'amazon.de')) {
return 'amazon';
}
elseif (str_contains($urlname, 'brickset')) {
return 'brickset';
} else {
return 'no URL';
}
}

非常感谢你帮助我。

相关内容

  • 没有找到相关文章

最新更新