PHP извлечение подстроки. Получить строку перед первой '/' или всей строкой

Если вы хотите получить несколько значений атрибутов из источника выше, вы можете использовать findAll и понимание списка, чтобы получить все, что вам нужно:

import urllib
f = urllib.urlopen("http://58.68.130.147")
s = f.read()
f.close()

from BeautifulSoup import BeautifulStoneSoup
soup = BeautifulStoneSoup(s)

inputTags = soup.findAll(attrs={"name" : "stainfo"})
### You may be able to do findAll("input", attrs={"name" : "stainfo"})

output = [x["stainfo"] for x in inputTags]

print output
### This will print a list of the values.
146
задан 2 September 2010 в 08:21
поделиться

3 ответа

Используйте explode ()

$arr = explode("/", $string, 2);
$first = $arr[0];

В этом случае я использую параметр limit для explode , чтобы php победил » t сканировать строку больше, чем необходимо.

235
ответ дан 23 November 2019 в 21:47
поделиться

Думаю, это должно сработать?

substr($mystring, 0, (($pos = (strpos($mystring, '/') !== false)) ? $pos : strlen($mystring)));
-1
ответ дан 23 November 2019 в 21:47
поделиться

Вы можете попробовать использовать следующее регулярное выражение:

$s = preg_replace('|/.*$|', '', $s);

иногда регулярное выражение работает медленнее, поэтому, если производительность является проблемой, обязательно проверьте это правильно и используйте другую альтернативу с подстроками, если он вам больше подходит.

2
ответ дан 23 November 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: