常规的expr问题

时间:2011-03-07 12:17:08

标签: php regex preg-replace

我有这样的字符串<>1 <>2 <>3 我要删除所有'&lt;&gt;'和'&lt;&gt;'之后的符号和符号我希望替换像www.test.com/1.jpg, www.test.com/2.jpg, www.test.com/3.jpg

这样的表达式

是否可以使用正则表达式?我只知道找到'/&lt;&gt;。?/'

5 个答案:

答案 0 :(得分:2)

str_replace('<>', 'www.test.com/', $input);

// pseudo code
pre_replace_all('~<>([0-9]+)~', 'www.test.com/$1.jpg', $input);

答案 1 :(得分:2)

   preg_replace('/<>(\d+)/g', 'www.test.com/bla/$1.jpg', $input); 

(假设你替换的元素只是数字。如果它们更通用,你需要用其他东西替换'\ d +')。

答案 2 :(得分:1)

根据您的示例,我认为您根本不需要正则表达式。

$str = '<>1 <>2 <>3';
print_r(str_replace('<>', 'www.test.com/', $str));

答案 3 :(得分:1)

$string = '<>1 <>2 <>3';

$temp = explode(' ',preg_replace('/<>(\d)/','www.test.com/\1.jpg',$string));
$newString = implode(', ',$temp);

echo $newString;

答案 4 :(得分:0)

正则表达式允许您以任何方式操作字符串,以您希望使用以下正则表达式的方式修改字符串:

&LT;&GT;(\ d)

并且您将使用正则表达式反向引用来保留您在分组括号中捕获的值,在本例中为单个数字。后引用通常由$符号表示,然后表示您引用的组的编号。如下:

www.test.com/$1

这将用于正则表达式替换方案,该方案将以不同的方式实现,具体取决于您实现正则表达式替换方法的语言。