PHP - 获取所有字符的字符

问题描述:

的阵列之前,我有两个字符串:PHP - 获取所有字符的字符

email-infoinfo/email

我需要-/之前检索的所有字符的出现,使得被格式化后,琴弦是这样的:

emailinfo

什么是做到这一点的最好方法是什么?

这对于正则表达式来说非常简单。也就是说你可以使用别的东西(即字符串函数)。

尽管如此,这里是一个使用preg_split()一个例子:

$parts = preg_split('/[-\/]/', $string); 
+0

我希望能容纳比这两个字符。谢谢杰森。建立我的正则表达式技巧,一次一个模式:) –

+0

在这种情况下,'preg_split()'是要走的路。只要继续添加分组,并记住要转义任何正则表达式语法。 –

您可以使用PHP的split method

$StringYouWant = split($StringNeedsSplitting, '(-|/)')[0] 
+1

看起来很干净,虽然'split'不推荐前进,所以我宁愿远离 –

+0

'explode()'是一种替代方案,尽管注意它不允许使用模式。 –

+0

啊..我错过了那个大牌子:P – marklar

Jason的权利。这里是一种用字符串函数来做到这一点:

$str1 = "email-info"; 
$result = substr($str1, 0, strlen($str1) - strpos('-')); 
+1

这似乎没有考虑到'/'字符 –

$name = preg_replace('/[-\/](.*)$/', '', $email);