如何去除字符串中的斜杠和它们之间的数字内容
How to Strip Slashes and the Numeric Content Between Them in a String
考虑以下字符串:
/0123456789/abcdefg
我需要删除两个斜杠之间的所有数字以及删除斜杠。我知道 preg_replace
,但从未使用过此函数(我是 PHP 的新手)。我将如何为它制作正确的正则表达式?提前致谢。
没有preg_replace()
的最简单方法:-
<?php
$url = "/0123456789/abcdefg";
echo $words = substr($url, strrpos($url, '/') + 1);
注意:- strrpos gets the position of the last occurrence of the slash; substr returns 该位置之后的所有内容。
strrpos 函数从 0 开始计算给定字符的位置,这就是为什么要添加 +1 以获得可以取出子字符串的实际位置
试试这个
<?php
$keep = "abcdefg";
$str = "/0123456789/";
echo chop($keep,$str);
?>
chop 函数接受一个字符串并从中删除某个值。
第一个参数 $keep
是您要保留的参数
函数中的第二个参数 $str
是您要删除的参数。
希望对您有所帮助
OP 的问题涉及与 preg_replace() 一起使用的 正则表达式 (正则表达式)来解决问题。方法如下:
<?php
$url = "/0123456789/abcdefg";
$regex= "~/\d+/~";
$replace = "";
echo preg_replace( $regex, $replace,$url );
请注意,正则表达式由一个正斜杠、一个或多个数字和另一个正斜杠组成。分隔符本身使用字符“~”。相反,如果它们由斜线组成,那么并且只有在那时才需要转义正斜线。
顺便说一句,您也可以使用 preg_split() 实现所需的输出,如下所示:
<?php
$url = "/0123456789/abcdefg";
list(,, $strData) = preg_split("~/~",$url );
echo $strData;
在此解决方案中,url 字符串根据存在的正斜杠拆分为一个列表,该列表在捕获字母字符串时忽略无关数据。
更好的解决方案是使用 explode() 以便字符串可以包含更少、更多或相同数量的正斜杠。给定一个以字母字符结尾的字符串,可以编码如下:
<?php
$url = "/0123456789/abcdefg";
$arrData = explode("/", $url );
$dex = count($arrData) - 1;
echo $arrData[ $dex ];
考虑以下字符串:
/0123456789/abcdefg
我需要删除两个斜杠之间的所有数字以及删除斜杠。我知道 preg_replace
,但从未使用过此函数(我是 PHP 的新手)。我将如何为它制作正确的正则表达式?提前致谢。
没有preg_replace()
的最简单方法:-
<?php
$url = "/0123456789/abcdefg";
echo $words = substr($url, strrpos($url, '/') + 1);
注意:- strrpos gets the position of the last occurrence of the slash; substr returns 该位置之后的所有内容。
strrpos 函数从 0 开始计算给定字符的位置,这就是为什么要添加 +1 以获得可以取出子字符串的实际位置
试试这个
<?php
$keep = "abcdefg";
$str = "/0123456789/";
echo chop($keep,$str);
?>
chop 函数接受一个字符串并从中删除某个值。
第一个参数 $keep
是您要保留的参数
函数中的第二个参数 $str
是您要删除的参数。
希望对您有所帮助
OP 的问题涉及与 preg_replace() 一起使用的 正则表达式 (正则表达式)来解决问题。方法如下:
<?php
$url = "/0123456789/abcdefg";
$regex= "~/\d+/~";
$replace = "";
echo preg_replace( $regex, $replace,$url );
请注意,正则表达式由一个正斜杠、一个或多个数字和另一个正斜杠组成。分隔符本身使用字符“~”。相反,如果它们由斜线组成,那么并且只有在那时才需要转义正斜线。
顺便说一句,您也可以使用 preg_split() 实现所需的输出,如下所示:
<?php
$url = "/0123456789/abcdefg";
list(,, $strData) = preg_split("~/~",$url );
echo $strData;
在此解决方案中,url 字符串根据存在的正斜杠拆分为一个列表,该列表在捕获字母字符串时忽略无关数据。
更好的解决方案是使用 explode() 以便字符串可以包含更少、更多或相同数量的正斜杠。给定一个以字母字符结尾的字符串,可以编码如下:
<?php
$url = "/0123456789/abcdefg";
$arrData = explode("/", $url );
$dex = count($arrData) - 1;
echo $arrData[ $dex ];