0

不知道如何解释这一点,但它就是这样。

$val可以包含一个字符串,后跟无、一个或多个点:

test
test.
test..
test... 
etc

使用正则表达式我正在寻找任何无效字符$val,然后我想替换它们。

(preg_replace('-['.$inv.']-',"",$val))

$inv是一个无效条目数组,这也包括一个点。

除了最后的任何点外,如何去除所有$inv字符?$val

如果$val = te%st...正确的结果应该是测试...</p>

如果$val = te.est.正确的结果应该被测试。

希望这是有道理的。谢谢。

4

3 回答 3

0

您不需要正则表达式,只需使用str_replace删除所有不需要的字符:

$replace = array('.', ','); // The characters you want to replace.
echo str_replace($replace, '', '..,.Here,, ..be some text,.');
// Result:
// 'Here be some text'
于 2013-01-11T09:18:07.653 回答
0

下面的代码将从字符串中删除所有非字母数字字符。

$string = "Sample text with letters and numbers 45678 and special symbols ($*&#($*#"; 

$new_string = ereg_replace("[^A-Za-z0-9]", "", $string); 

echo $new_string
于 2013-01-11T09:19:02.690 回答
0

试试这个

<?php
    $val = '
    test
test.
test..
test... 
etc
    ';
    $inv = 'te';
    $ret = preg_replace("@([$inv].+)\.@",'',$val);

    var_dump($val);
    var_dump($ret);

$ret 现在包含

test

etc
于 2013-01-11T09:23:22.497 回答