2017-09-04 87 views
0

你能帮助我吗?我尝试创建一个小函数,我不知道如何去做。PHP:在数字块后删除文本和数字(包括 - >。< - )

字符串: “GRUNDIG周报36630 Waschmaschine”
输出: “GRUNDIG周报36630

那与

$s2 = preg_replace("/([^0-9]*[0-9]*)(.*)/", "$1", $link->plaintext); 

工作,但如果我有内点状的字符串: 字符串:“WMF 12.7700.6343 Lingo 24-tlg。Besteck-Set” 输出:“WMF 12”

但它应该是WMF 12.7700.6343

我需要一个脚本,修剪在一个数字块的结尾的字符串,而不是第一个数字,直到第一个点。

更新:2017年9月9日

对不起,我不知道如何与strackoverflow工作。

GRUNDIG周报36.6-30 Waschmaschine

WMF 12.7700.6343 的Lingo 24 TLG。 Besteck镶

GIGASET C(430)阿朵 Schnurloses电话

应该是:

GRUNDIG周报36.6-30 Waschmaschine WMF 12.7700.6343的Lingo 24 TLG。 GIGASET C(430)阿朵

  1. 一个NUMER组合之前的所有词语(例如:19.23-2329)
  2. 后词语组合只添加2个词语

GIGASET C(430)阿朵

回答

1

其实你只需要搜索(^.+?([0-9.-]+)).*并用$1代替它。而已。

这里是既弦的工作活生生的例子: https://regex101.com/r/6fLvpk/2

+0

WOW谢谢!它工作完美!美好的一周!谢谢你..谢谢youuu –

+0

当然可以,祝你有个愉快的周 – Link

+0

非常感谢您的帮助,但现在我需要一个新的答案。正则表达式工作正常,但我需要另一个:O。我更新了上面的文字 –

相关问题