В PHP String Найти символ после & quot; / & quot; и измените его с Array, если его там

в порядке,

У меня есть такая ссылка

$url = "http://www.foo.com/foo/Dynamic_Words_Here/_/Some Text in Here";

Я могу изменить значения (Некоторый текст здесь) с

$search = array('OR', 'OF', 'ON', 'IN', 'AND', 'The');
$replace = array('or', 'of', 'on', 'in', 'and', 'the');
$smad= str_replace($search, $replace, $smad);

Но иногда («Some» -> First Word) часть строки может начинаться с «The», а скрипт выше меняет его на «the», но я не хочу, чтобы он использовался в каждом случае …

Мне нужен другой массив ТОЛЬКО для первого слова строки, и это может вызвать переопределение с другим массивом для остальной части строки, я не знаю, как это сделать.

—> РЕДАКТИРОВАТЬ -> Чтобы быть более конкретным, проблема в том, что я получаю некоторые результаты из Api Youtube для поиска, а затем я ищу в заголовке результата на другом веб-сайте, но этот веб-сайт иногда не соответствует моим поисковым словам. Вот почему я хочу это и пример:

$url = "searchthissite.com/_/search Me Now"; -> [My YouTube Search Title] должно быть ->

$url = "searchthissite.com/_/Search me Now"; -> [Что хочет сайт]

Так что мне нужно 1 массив для первого слова и другой массив для остальной части
строка.

<?php
$str = "http://www.foo.com/foo/Dynamic_Words_Here/_/in Some Text in Here";

$test= "in";

if (preg_match("/\b$test\b/", $str)) {

$search = array('in');
$replace = array('In');
$str= str_replace($search, $replace, $str);

echo $str;
}
?> // OUTPUT IS http://www.foo.com/foo/dynamic/_/In Some Text In Here
// I need this for First Word Only and ANOTHER for The Rest of The String.

Спасибо.

0

Решение

Это не CURL, который чувствителен к регистру. Это HTTP. домен а также схема части URL являются нечувствительный к регистру, потому что они обрабатываются клиентом UA и DNS, но дорожка часть URL чувствителен к регистру потому что это обрабатывается непосредственно удаленным хостом.

https://www.google.com/about это определенно не то же самое, что https://www.google.com/About потому что сервер ожидает /about и не /About,

Я не совсем понимаю, как вы пришли к проблеме с неправильным регистром URL во-первых, поэтому неясно, как решить эту основную проблему.

Однако то, что вы пытаетесь сделать, это то, что PHP ucfirst() Функция, вероятно, может сделать для вас в сочетании с strtolower().

echo ucfirst(strtolower("Some Text in Here")); // Some text in here

strtolower сначала норамлизирует строку для всех строчных букв, а затем ucfirst повернет только первый символ в строке в верхний регистр. Вы можете принять во внимание многобайтовые символы, так как эта функция работает с вашей локалью. Увидеть setlocale() для деталей.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]