2014-11-24 5 views
1

У меня очень простой вопрос о php.Вырезать строку перед символом лучше в php

У меня есть эта строка:

This is a simple string | badword is here 

И мне это нужно:

The is a simple string 

Так,

Я использовал этот код ниже:

$word = substr($word, 0, strpos($word, '|')); 

и если Я использую этот код, я должен проверить, является ли re any | char в строке, Если да, удалите его.

Так что это очень низкая скорость, и я не могу ее использовать.

Каков самый быстрый способ получить результат, не проверяя, есть ли символ | в основной строке?

+1

то, что вы имеете в виду очень очень низкая скорость? у вас есть эталон для этого? – Ghost

+0

@Ghost Я хочу знать, есть ли другой способ сделать это? – Bifo

+0

Вопрос не имеет смысла - я хочу удалить «х», я не знаю, где «х», но я не хочу искать «х». Есть и другие способы сделать это (регулярные выражения), но в принципе все равно придется искать то, что вам нужно удалить. –

ответ

8

Для этого примера, в качестве альтернативы, вы можете использовать strtok() также:

$string = 'This is a simple sting | badword is here'; 
$result = strtok($string, '|'); 
echo $result; // This is a simple sting 
+0

спасибо, есть ли способ проверить его более 1 раза? например, я хочу проверить и удалить после '|' и '/'. – Bifo

+1

@Bifo Я не думаю, что этот маршрут будет обрабатывать несколько разделителей, у вас может быть больше энергии, когда задействовано регулярное выражение – Ghost

2

вы можете использовать взорваться() функция

$string = 'This is a simple sting | badword is here'; 
$pieces = explode("|", $string); 
echo $pieces[0]; // will display This is a simple sting 
2

Вы можете использовать взорваться() в отдельной строке между спецификой.

$string = 'This is a simple sting | badword is here'; 

$var = explode('|', $string); 

echo $var[0]; // This is a simple sting 
0

Лучший способ заключается в использовании взорваться() function.please следовать по ссылкам ниже.

explode tutorials 1

explode tutorials 2

**try this example :** 

$text= 'This is a simple sting | badword is here'; 

$var = explode('|', $text); 

echo $var[0]; 
Смежные вопросы