Как я могу написать две функции, которые будут принимать строку и возвращаться, если она начинается с указанного символа / строки или заканчивается им? Например: $str = '|apples}'; echo startsWith($str, '|'); //Returns true echo endsWith($str, '}'); //Returns true
Несмотря на использование PHP в течение многих лет, я никогда не научился использовать выражения для правильной усечения строк …, которые теперь кусают меня сзади! Может ли кто-нибудь предоставить мне некоторую помощь, усекающую это? Мне нужно вырезать текстовую часть из URL-адреса, поворачивая <a href="link.html">text</a> в <a href="link.html"></a>
function gen_slug($str){ # special accents $a = array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ÿ','A','a','A','a','A','a','C','c','C','c','C','c','C','c','D','d','Ð','d','E','e','E','e','E','e','E','e','E','e','G','g','G','g','G','g','G','g','H','h','H','h','I','i','I','i','I','i','I','i','I','i','?','?','J','j','K','k','L','l','L','l','L','l','?','?','L','l','N','n','N','n','N','n','?','O','o','O','o','O','o','Œ','œ','R','r','R','r','R','r','S','s','S','s','S','s','Š','š','T','t','T','t','T','t','U','u','U','u','U','u','U','u','U','u','U','u','W','w','Y','y','Ÿ','Z','z','Z','z','Ž','ž','?','ƒ','O','o','U','u','A','a','I','i','O','o','U','u','U','u','U','u','U','u','U','u','?','?','?','?','?','?'); $b = array('A','A','A','A','A','A','AE','C','E','E','E','E','I','I','I','I','D','N','O','O','O','O','O','O','U','U','U','U','Y','s','a','a','a','a','a','a','ae','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','o','u','u','u','u','y','y','A','a','A','a','A','a','C','c','C','c','C','c','C','c','D','d','D','d','E','e','E','e','E','e','E','e','E','e','G','g','G','g','G','g','G','g','H','h','H','h','I','i','I','i','I','i','I','i','I','i','IJ','ij','J','j','K','k','L','l','L','l','L','l','L','l','l','l','N','n','N','n','N','n','n','O','o','O','o','O','o','OE','oe','R','r','R','r','R','r','S','s','S','s','S','s','S','s','T','t','T','t','T','t','U','u','U','u','U','u','U','u','U','u','U','u','W','w','Y','y','Y','Z','z','Z','z','Z','z','s','f','O','o','U','u','A','a','I','i','O','o','U','u','U','u','U','u','U','u','U','u','A','a','AE','ae','O','o'); return strtolower(preg_replace(array('/[^a-zA-Z0-9 -]/','/[ -]+/','/^-|-$/'),array('','-',''),str_replace($a,$b,$str))); } Отлично работает, но я обнаружил некоторые случаи, когда он терпит неудачу: gen_slug('andrés') возвращает andras вместо andres Зачем? Любые идеи по параметрам preg_replace ?
У меня есть строка вроде этого: " 23 PM" Я хотел бы удалить 23 чтобы я остался с PM или (с усеченным пространством) просто PM . Какие-либо предложения? Нужно быть в PHP
$string = " put returns between paragraphs for linebreak add 2 spaces at end "; Хотите удалить все новые строки из строки. У меня есть это регулярное выражение, оно может поймать всех из них, проблема в том, что я не знаю, с какой функцией его использовать. /\r\n|\r|\n/ $string должно стать: $string = "put returns between […]
У меня есть это регулярное выражение для проверки в javascript: /^(?:'[Az](([\._\-][A-z0-9])|[A-z0-9])*[a-z0-9_]*')$/ Теперь я хочу одно и то же регулярное выражение для проверки формы с помощью проверки формы Codeigniter: $this->form_validation->set_rules('username', 'Nombre de usuario', 'required|min_length[2]|max_length[15]|regex_match[/^[AZ az 0-9 _ . \-]+$/]|is_unique[user.username]'); регулярное выражение в этой строке не эквивалентно тому, что я упоминал. При попытке скопировать и вставить такое […]
Мне нужно удалить все символы из строки, которые не находятся в az AZ 0-9 или не являются пробелами. У кого-нибудь есть функция для этого?
Как я могу использовать PHP для выделения всех символов, которые не являются альфа-цифрами, числами, пробелами или прокруткой? Я пробовал следующее, но это препинание. preg_replace("/[^a-zA-Z0-9\s]/", "", $str);