好的,所以我有这个字符串:
"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 :(得分:17)
您可以使用explode()
(http://php.net/explode)或混合使用substr()
(http://php.net/substr)和strpos()
(http://php.net/strpos)。< / p>
<?php
$string = "MICROSOFT CORP CIK#: 0000789019 (see all company filings)";
$newString = substr($string, 0, strpos($string, " CIK#"));
echo $newString;
编辑编辑了几次以适合您的问题编辑......
答案 1 :(得分:3)
答案 2 :(得分:0)
假设你的字符串存储在$ a中,那么
中的任何一个echo substr($a, 0, strpos($a, " CIK"));
或
preg_match("/(.*) CIK/", $a, $matches);
echo $matches[1];
或
echo preg_replace("/(.*) CIK.*/", "$1", $a);
会做的。
答案 3 :(得分:0)
我来到此页面寻找切片slice($start, $end)
方法,但仅找到针对具体案例的解决方案。
就我而言,我只有索引(开始和结束)。需要length
来分割字符串似乎很愚蠢。所以我写了一个slice函数。它模仿JavaScript的slice方法。
// str_slice(string $str, int $start [, int $end])
function str_slice() {
$args = func_get_args();
switch (count($args)) {
case 1:
return $args[0];
case 2:
$str = $args[0];
$str_length = strlen($str);
$start = $args[1];
if ($start < 0) {
if ($start >= - $str_length) {
$start = $str_length - abs($start);
} else {
$start = 0;
}
}
else if ($start >= $str_length) {
$start = $str_length;
}
$length = $str_length - $start;
return substr($str, $start, $length);
case 3:
$str = $args[0];
$str_length = strlen($str);
$start = $args[1];
$end = $args[2];
if ($start >= $str_length) {
return "";
}
if ($start < 0) {
if ($start < - $str_length) {
$start = 0;
} else {
$start = $str_length - abs($start);
}
}
if ($end <= $start) {
return "";
}
if ($end > $str_length) {
$end = $str_length;
}
$length = $end - $start;
return substr($str, $start, $length);
}
return null;
}
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz") ); // "abcdefghijklmnopqrstuvwxyz"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", 5) ); // "fghijklmnopqrstuvwxyz"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", -5) ); // "vwxyz"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", 40) ); // ""
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", -40) ); // "abcdefghijklmnopqrstuvwxyz"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", 5, 10) ); // "fghij"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", 5, 20) ); // "fghijklmnopqrst"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", 5, 30) ); // "fghijklmnopqrstuvwxyz"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", -20, 2) ); // ""
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", -20, 10) ); // "ghij"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", -20, 15) ); // "ghijklmno"
var_dump( str_slice("abcdefghijklmnopqrstuvwxyz", -20, 40) ); // "ghijklmnopqrstuvwxyz"