Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- variables
- 전략
- function
- composer-php
- curl
- OOP
- php
- Session
- MySQL
- Linux
- string
- Ajax
- file-upload
- Forms
- UTF-8
- 웹하드순위
- Laravel
- Regex
- Arrays
- 무료다운로드쿠폰
- JSON
- JavaScript
- jquery
- 웹하드추천
- date
- 경영
- post
- Apache
- HTML
Archives
- Today
- Total
개발! 딱 깔끔하고 센스있게!
php 크롤링 또는 파싱 함수, 정규식 모음 본문
크롤링 또는 파싱 함수, 정규식 모음
이미지만 추출하는 정규식
preg_match_all("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $contents, $matches);
특정 엘리멘트 밑에 추출 정규식
preg_match('/<div id="my2">(.*?)<\/div>/is', $contents, $html);
preg_match("/\<span id=\"moonseller\"\>[^>]\<\/span\>/", $contents, $html);
style 태그 제거 정규식
$str=preg_replace("!<style(.*?)<\/style>!is","",$str);
특정 태그 제거 정규식
$contents = preg_replace("/<a[^>]*>/i", '', $contents);
$contents = preg_replace("/<\/a>/i", '', $contents);
텍스트 사이의 문자열을 배열로 반환 함수
# [splitBetweenStr 텍스트 사이의 문자열을 배열로 반환]
# @param [string] $str [전체 문자열]
# @param [string] $startWord [찾을 시작 문자열]
# @param [string] $endWord [찾을 종료 문자열]
# @return [array] [텍스트 사이의 문자열 배열]
#
# ex) splitBetweenStr('<br>hi</br><b>test</b><br>graceful_light</br>', '<br>', '</br>')
# => ['hi', 'graceful_light']
function splitBetweenStr($str, $startWord, $endWord)
{
for ($i=0, $len=strlen($str); $i<$len; $i++)
{
$target = substr($str,$i);
$prevStartIdx = strpos($target, $startWord);
$startIdx = $prevStartIdx + strlen($startWord);
$endIdx = strpos(substr($target, $startIdx), $endWord);
if($prevStartIdx===false || $endIdx===false)
{
break;
}
else
{
$betweenStrings[] = substr($target, $startIdx, $endIdx);
$i += $startIdx + $endIdx + strlen($endWord) - 1;
}
}
return $betweenStrings;
}
'PHP 메모' 카테고리의 다른 글
php 변수값의 배열 포함여부 확인 in_array() 함수 (0) | 2018.11.14 |
---|---|
php 배열 맨앞에 추가함수 array_unshift(), 배열 맨앞값 제거함수 array_shift() (0) | 2018.11.14 |
php sleep 시간지연 함수 (0) | 2018.11.06 |
Comments