2012-07-13 48 views
1

我正在使用以下代碼從變量返回唯一的數字值,如何從變量中只獲取字符值「測試」並希望從字符串中刪除「on」 。php如何僅從變量返回字符值

<?php 
$valuecheck="testing on 123568"; 
$check1=preg_replace('/\D/', '', $valuecheck); 
echo $check1; 
?> 

Output required: 

testing 

感謝

+0

'/ \ D | \ bon \ b /'也許? – Wrikken 2012-07-13 15:14:59

+0

所以你想$ check1是'測試123568'? – 2012-07-13 15:16:12

+0

這種格式會被固定下來,所以你可以只抓住字符串的前7個字符?或者會有多種變化,無論多長時間,您總是在尋找第一個字詞? – andrewsi 2012-07-13 15:16:47

回答

3

代替\D,使用[^a-zA-Z](假設這是你所說的 「字符值」 的意思)。基本上,把[^SOMETHING],那個「東西」是你想要認爲有效的所有字符的集合。

+0

刪除「開」感謝kolink,如何從值中刪除「開」。我想要「測試」作爲輸出。 – 2012-07-13 15:15:45

0

我怕我的解決方案會更有點冗長:

$result = ''; 
$c = explode(' ', $valuecheck); 
foreach ($c as $ci) { 
    if (preg_match('[\D]', $ci) == 1) { continue; } 
    $result = $ci; break; 
} 
echo $result; 

處理空間作爲分隔符,這將忽略任何字符串與至少一個數字,並返回找到的第一個「合格」的字符串。