我需要在PHP中找到一种方法,使用正则表达式删除2个字符串的最后部分。这样一旦他们被剥夺了额外的字符,我就能找到他们之间的匹配。以下是我正在处理的字符串数据类型的示例:
categories_widget-__i__
categories_widget-10
所以我想删除:
-__i__ from the first string
-10 from the second string
提前致谢。
答案 0 :(得分:0)
您可以尝试使用以下代码删除-
到最后一个字符的所有字符。
<?php
$text = <<<EOD
categories_widget-__i__
categories_widget-10
EOD;
echo preg_replace("~-.*$~m","",$text);
?>
输出:
categories_widget
categories_widget
-
与文字-
符号相匹配。 .*
匹配-
符号后面的任何字符,直到行尾。 $
表示一行的结尾。通过用空字符串替换所有匹配的字符,可以得到所需的输出。
答案 1 :(得分:0)
$str1 = "categories_widget-__i__";
$str2 = "categories_widget-10";
$arr1 = explode("-", $str1);
$arr2 = explode("-", $str2);
echo $arr1[0];
echo $arr2[0];
答案 2 :(得分:0)
答案 3 :(得分:0)