Еще одна проблема, с str_replace
, я хотел бы изменить следующие $title
данные в URL, принимая $string
между числом в начале и после тире (-)str_replace между двумя числовыми строками
- Чикаго
'
общедоступную Школы - $ 10.3M - Нью-Джерси - $ 3M
- Мичиган: Public Health - $ 1M
Выходное желание:
чикаго-общественная школа
нового Джерси
Мичигане общественного здравоохранения
код PHP Я использую
$title = ucwords(strtolower(strip_tags(str_replace("1: ", "", $title))));
$x = 1;
while ($x <= 10) {
$title = ucwords(strtolower(strip_tags(str_replace("$x: ", "", $title))));
$x++;
}
$link = preg_replace('/[<>()!#?:.$%\^&=+~`*é"\']/', '', $title);
$money = str_replace(" ", "-", $link);
$link = explode(" - ", $link);
$link = preg_replace(" (\(.*?\))", "", $link[0]);
$amount = preg_replace(" (\(.*?\))", "", $link[1]);
$code_entities_match = array(''s', '"', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '+', '{', '}', '|', ':', '"', '<', '>', '?', '[', ']', '', ';', "'", ',', '.', '_', '/', '*', '+', '~', '`', '=', ' ', '---', '--', '--');
$code_entities_replace = array('', '-', '-', '', '', '', '-', '-', '', '', '', '', '', '', '', '-', '', '', '', '', '', '', '', '', '', '-', '', '-', '-', '', '', '', '', '', '-', '-', '-', '-');
$link = str_replace($code_entities_match, $code_entities_replace, $link);
$link = strtolower($link);
К сожалению, результат Я получил:
-chicagoamp9s-public-school
2-new-jersey
3-michigan-public-health
У кого-нибудь есть лучшее решение для этого? Спасибо, парни!
('
изменилось в amp9 - Интересно, почему?)
добавил PHP тега – Eineki