Skip to content

Instantly share code, notes, and snippets.

@jetfire21
Last active April 24, 2017 19:43
Show Gist options
  • Save jetfire21/27182202b5a0bc8528aaa2f95b8bbba7 to your computer and use it in GitHub Desktop.
Save jetfire21/27182202b5a0bc8528aaa2f95b8bbba7 to your computer and use it in GitHub Desktop.
Обработка строк (обрезка / поиск) в PHP
<?php
// - #1
/* ********Обработка строк (обрезка / поиск) ****** */
// Находит последнее вхождение подстроки Пример: https://twitter.com/ottawafoodbank
echo $str = substr(strrchr($str,"/"), 1); // вернет ottawafoodbank
// - #2
/* ********** ищет в файлы все скрипты js,считает количество
результаты смотреть в режиме исходного кода
view-source:http://test.dev/find_page_js/find_page_js.php
************* */
// preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
// "<b>пример: </b><div align=\"left\">это тест</div>",
// $out, PREG_SET_ORDER);
// echo $out[0][0] . ", " . $out[0][1] . "\n";
// echo $out[1][0] . ", " . $out[1][1] . "\n";
// <script type='text/javascript' src='/wp-content/themes/buddyapp/assets/js/functions.min.js?ver=1.4'></scrip
// $str = "<script type='text/javascript' src='/wp-content/themes/buddyapp/assets/js/functions.min.js?ver=1.4'></script>ggggg
// <script type='text/javascript' src='/wp-content/plugins/buddypress-media/lib/touchswipe/jquery.touchSwipe.min.js?ver=4.3.1'></script>gdfgfdg
// fgfgfgfg
// <script type='text/javascript' src='/wp-includes/js/imagesloaded.min.js?ver=3.2.0'></script>fgfdgfg
// <img src='1.jpg'>fgfdgfg
// <script type='text/javascript' src='/wp-includes/js/masonry.min.js?ver=3.3.2'></script>
// <script type='text/javascript' src='/wp-includes/js/jquery/jquery.masonry.min.js?ver=3.1.2b'></script>
// <script type='text/javascript' src='/wp-content/themes/buddyapp-child/js/a21_common.js?ver=4.7.3'></script>
// <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.7.3'></script>
// gsdgji0hg0gr0ug89fdgjkfgj
// <script type='text/javascript' src='/wp-content/themes/buddyapp-child/job_manager/wp-job-manager-tags/assets/js/tag-filter.js?ver=1.0'></script>";
// $homepage = file_get_contents('http://www.example.com/');
$str = file_get_contents('test2.php');
// echo "\r\n<br>исходная строка ======\r\n\r\n<br>".$str;
$str = addslashes($str);
// echo "\r\n\r\n<br>экранированная строка ======\r\n\r\n<br>".$str;
$after_pregmatch = preg_match_all("#<script[^>]+#i", $str, $match);
echo "\r\n\r\n<br>Результаты обработки ======\r\n\r\n<br>";
echo "\r\n\r\n<br> var_dump pregmatch = ";
var_dump($after_pregmatch);
echo "\r\n\r\n<br>match ======\r\n\r\n<br>";
// print_r($match);
echo "\r\n\r\n<br>match[0] ======\r\n\r\n<br>";
print_r($match[0]);
if(!empty($match[0])){
echo "\r\n\r\n Все внешние js \r\n\r\n";
$i = 1;
foreach ($match[0] as $k => $v) {
// <script type=\'text/javascript\' src=\'/wp-content/themes/buddyapp/assets/js/functions.min.js?ver=1.4\'
$count = preg_match("#src=(.)+#i", $v,$match2);
if($count > 0):
$js_name = str_replace("\'", "", $match2[0]);
$js_name = str_replace('\"', "", $js_name);
$js_name = str_replace("src=", "", $js_name);
echo $i." - ".$js_name."\r\n";
$i++;
else:
$inline_js[] = $k;
endif;
}
if(empty($inline_js)) exit;
echo "\r\n\r\nинлайновый js, то есть нет src-не подключается в виде внешнего файла\r\n";
foreach ($inline_js as $k => $v) {
echo $v.", ";
}
}
/* ********** ищет в файлы все скрипты js,считает количество
результаты смотреть в режиме исходного кода
view-source:http://test.dev/find_page_js/find_page_js.php
************* */
/* **** извлекает числа из строки **** */
$str = 'here any 234 $ text';
$str = preg_replace("/[^0-9]/", '', $str);
/* **** извлекает числа из строки **** */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment