Строки являются очень важным видом данных, и вам приходится ежедневно иметь дело с ними при выполнении задач веб-разработки. В этой статье я собрал 10 чрезвычайно полезных функций и фрагментов кода, чтобы облегчить жизнь вашему php-разработчику.
Автоматически удалять HTML-теги из строки
В пользовательских формах вы можете удалить все ненужные HTML-теги. Это легко сделать с помощью функции strip_tags ():
$text = strip_tags($input, "");
Источник: http://phpbuilder.com/columns/Jason_Gilmore060210.php3?page=2
Получить текст между $ start и $ end
Это функция, которую каждый веб-разработчик должен иметь в своем наборе инструментов для будущего использования: дать ему строку, начало и конец, и он вернет текст, содержащий $ start и $ end.
function GetBetween($content,$start,$end){ $r = explode($start, $content); if (isset($r[1])){ $r = explode($end, $r[1]); return $r[0]; } return ''; }
Источник: http://www.jonasjohn.de/snippets/php/get-between.htm
Преобразовать URL в гиперссылки
Если вы оставите URL-адрес в форме комментариев блога WordPress, он автоматически преобразуется в гиперссылку. Если вы хотите реализовать те же функции на своем веб-сайте или в своем веб-приложении, вы можете использовать следующий код:
$url = "Jean-Baptiste Jung (http://www.webdevcat.com)"; $url = preg_replace("#http://([A-z0-9./-]+)#", '<a href="http://www.catswhocode.com/blog/$1" style="font-size: 12px; vertical-align: baseline; background-color: transparent; margin: 0px; padding: 0px; color: #3777af; text-decoration: none; font-weight: bold">$0</a>', $url);
Источник: http://phpbuilder.com/columns/Jason_Gilmore060210.php3?page=2
Разделить текст на массив из 140 символов для Twitter
Как вы, наверное, знаете, Twitter принимает сообщения длиной не более 140 символов. Если вы хотите взаимодействовать с популярным сайтом обмена социальными сообщениями, вам наверняка понравится эта функция, которая позволит вам урезать ваше сообщение до 140 символов.
function split_to_chunks($to,$text){ $total_length = (140 - strlen($to)); $text_arr = explode(" ",$text); $i=0; $message[0]=""; foreach ($text_arr as $word){ if ( strlen($message[$i] . $word . ' ') <= $total_length ){ if ($text_arr[count($text_arr)-1] == $word){ $message[$i] .= $word; } else { $message[$i] .= $word . ' '; } } else { $i++; if ($text_arr[count($text_arr)-1] == $word){ $message[$i] = $word; } else { $message[$i] = $word . ' '; } } } return $message; }
Источник: http://www.phpsnippets.info/split-text-up-into-140-char-array-for-twitter
Удалить URL из строки
Когда я вижу количество URL-адресов, которые люди пытаются оставить в комментариях к моему блогу, чтобы получить трафик и / или обратные ссылки, я думаю, что я обязательно должен попробовать этот фрагмент!
$string = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $string);
Источник: http://snipplr.com/view.php?codeview&id=15236
Конвертировать строки в слизни
Нужно создать слагов (постоянные ссылки), которые оптимизированы для SEO? Следующая функция принимает строку в качестве параметра и возвращает SEO-дружественный слаг. Просто и эффективно!
function slug($str){ $str = strtolower(trim($str)); $str = preg_replace('/[^a-z0-9-]/', '-', $str); $str = preg_replace('/-+/', "-", $str); return $str; }
Источник: http://snipplr.com/view.php?codeview&id=2809
Разобрать CSV файлы
Файлы CSV (значения, разделенные запятыми) являются простым способом хранения данных, а их синтаксический анализ с помощью PHP очень прост. Не веришь мне? Просто используйте следующий фрагмент и убедитесь сами.
$fh = fopen("contacts.csv", "r"); while($line = fgetcsv($fh, 1000, ",")) { echo "Contact: {$line[1]}"; }
Источник: http://phpbuilder.com/columns/Jason_Gilmore060210.php3?page=1
Поиск строки в другой строке
Если строка содержится в другой строке, и вам нужно искать ее, это очень умный способ сделать это:
function contains($str, $content, $ignorecase=true){ if ($ignorecase){ $str = strtolower($str); $content = strtolower($content); } return strpos($content,$str) ? true : false; }
Источник: http://www.jonasjohn.de/snippets/php/contains.htm
Проверьте, начинается ли строка с определенного шаблона
В некоторых языках, таких как Java, есть метод / функция startWith, который позволяет проверить, начинается ли строка с определенного шаблона. К сожалению, PHP не имеет аналогичной встроенной функции.
Как бы то ни было, мы просто должны построить свое собственное, что очень просто:
function String_Begins_With($needle, $haystack { return (substr($haystack, 0, strlen($needle))==$needle); }
Источник: http://snipplr.com/view.php?codeview&id=2143
Извлечение писем из строки
Задумывались ли вы, как спаммеры могут получить ваш адрес электронной почты? Это просто, они получают веб-страницы (например, форумы) и просто анализируют html для извлечения писем. Этот код принимает строку в качестве параметра и будет печатать все электронные письма, содержащиеся внутри. Пожалуйста, не используйте этот код для спама
function extract_emails($str){ // This regular expression extracts all emails from a string: $regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i'; preg_match_all($regexp, $str, $m); return isset($m[0]) ? $m[0] : array(); } $test_string = 'This is a test string... [email protected] Test different formats: [email protected]; <a href="[email protected]">foobar</a> <[email protected]> strange formats: [email protected] test6[at]example.org [email protected] test8@ example.org test9@!foo!.org foobar '; print_r(extract_emails($test_string));
Источник: http://www.jonasjohn.de/snippets/php/extract-emails.htm