2011-10-08 48 views
2

好了,我有這個字符串:如何在PHP中切分字符串?

MICROSOFT CORP CIK#: 0000789019 (see all company filings) 

而且我想CORP位後切斷一切。我將如何去做這個在PHP中?我習慣Python,所以我不確定這是如何完成的。

需要明確的是,這是輸出我想要的,對不起所有:

MICROSOFT CORP 

我想:

$companyname = substr($companyname, 0, strpos($companyname, " CIK")); 

,我得到什麼表現。

這裏是我的全碼:

<?php 
    include 'simple_html_dom.php'; 
    $html = file_get_html('http://www.sec.gov/cgi-bin/browse-edgar?company=&match=&CIK=MSFT&filenum=&State=&Country=&SIC=&owner=exclude&Find=Find+Companies&action=getcompany'); 
    $companyname = $html->find('span[class=companyName]', 0); 
    $companyname = substr($companyname, 0, strpos($companyname, " CIK#")+5); 
    $bizadd = $html->find('div[class="mailer"]'); 
    echo $companyname; 
    echo "<br />"; 
    foreach ($bizadd as $value) { 
     $addvals = $value->find('span[class="mailerAddress"]'); 
     echo "<br />"; 
       foreach ($addvals as $value) { 
        echo $value; 
        echo "<br />"; 
       } 
    } 
    ?> 
+0

安德魯,你的編輯後檢查我更新的答案。 –

回答

14

您可以使用explode()http://php.net/explode)或substr()http://php.net/substr)與strpos()http://php.net/strpos)的組合。

<?php 
$string = "MICROSOFT CORP CIK#: 0000789019 (see all company filings)"; 
$newString = substr($string, 0, strpos($string, " CIK#")); 
echo $newString; 

編輯:編輯幾次,以適應您的問題編輯...

+0

呃,這似乎切斷了一切之前! –

+0

@AndrewAlexander:對不起,這個問題還不夠清楚。第二個選項也更新了答案。 –

+0

$ newString = substr($ string,0,strpos($ string,「CIK#」)+ 5); 與$ companyname替換$ newString也沒有工作。 –

3

你倒是找到"CORP"strpos位置(請務必仔細閱讀巨型紅色警告),然後切斷相關部分與substr

0

假設你的字符串存儲在$ a,那麼任何的

echo substr($a, 0, strpos($a, " CIK")); 

preg_match("/(.*) CIK/", $a, $matches); 
echo $matches[1]; 

or

echo preg_replace("/(.*) CIK.*/", "$1", $a); 

會做。

+0

$ companyname = substr($ companyname,0,strpos($ companyname,「CIK」)); 嘗試一下,沒有任何東西。 –

+0

@安德魯亞歷山大:可能是一個簡單的錯誤。你確定你的字符串內容是你指出的嗎?如果是這樣,你是否正確迴應正確的輸出? – JRL

+0

據我所知 - 我將如何檢查並查看我的字符串是否包含回顯未顯示的更多信息?該字符串中有一個鏈接 - 我想這可能會導致一個問題? –