preg_replace:所有在第一次" - "

时间:2016-04-25 14:51:00

标签: php regex replace preg-replace

我有:

$text = "1235-text1-text2-a1-780-c-text3";

如何使用preg_replace获取此信息?有必要重定向301。

"text1-text2-a1-780-c-text3"

5 个答案:

答案 0 :(得分:0)

没有用正则表达式你可以尝试

trim(strstr($text, '-'),'-');

答案 1 :(得分:0)

不需要正则表达式:

$result = substr($text, strpos($text, '-')+1);

或者:

$result = trim(strstr($text, '-'), '-'); 

答案 2 :(得分:0)

这将有效

[^-]*-

<强> Regex Demo

PHP代码

$re = "/[^-]*-/"; 
$text = "1235-text1-text2-a1-780-c-text3"; 
$result = preg_replace($re, "", $text, 1);

<强> Ideone Demo

答案 3 :(得分:0)

或使用preg_match

<?php
$text = "1235-text1-text2-a1-780-c-text3";

preg_match("%[^-]*-(.*)%",$text, $matchs);
var_dump($matchs[1]);
// Output "text1-text2-a1-780-c-text3"
?>

答案 4 :(得分:0)

如您所愿,使用preg_replace:

$re = '/^([\w]*-)/';
$str = "1235-text1-text2-a1-780-c-text3";
$match = preg_replace($re, "", $str);
var_dump($match);

使用preg_match的替代方法:

$re = '/-(.*)/';
$str = "1235-text1-text2-a1-780-c-text3";
preg_match($re,$str,$matches);

var_dump($matches[1]);