모든 다음 예제를 참조 하십시오이 문서를 분석 하 고 소개 하는 다양 한 그림에 지도 정기 추출의 사용이이 기능 하지 preg_match_all 수, 친구를 참조할 필요가 있다.
-
-
코드는 다음과 같이 복사 됩니다.
<? php
페이지에 모든 그림 주소를 얻을
기능 GetImages ($STR)
{
$match _str = "/(http://) + ([^ rn () ^ $! '" ' |] {} <>] *) ((. gif) | (. JPG) | (. bmp) | (. png) | (. GIF) | (. JPG) | (. PNG) | (. BMP))) / ";
Preg_match_all ($match _str, $str, $out, Preg_pattern_order);
$out; 반환
}
? >
/ < img. * srcs * = s * ["|"? s * ([^ > "' s] *) /I
나는 문서를 저장 하려면 Kindeditor를 사용 하지만 위의 일반 솔루션 데이터베이스 필드에 저장 하는 문서, 문서 코드 (HTML의 내용)의 로고 그림으로 n 번째 그림의 주소와 다음 그림 주소 난 그냥 사용 하 여 다른 필드에 저장를 밖으로 갈 필요가.
위의 주소는 직접 인출 내에서 IMG 태그. 액세스 경로 그림을 찾을 수 있습니다, 직접 사용할 수 있습니다 아니라면, Preg_match_all를 사용 하 여 배열에 모든 주소를 저장 하는 경로 처리할 수 있는 경우 일반 PHP 페이지를 사용 하 여 SRC 특성 값의 설명 예를 들어 파일 이름 (경로 부분 제외), 다음 URL을 다시 가져오고 사진을 삭제.
나의 예:
코드는 다음과 같이 복사 됩니다.
Preg_match_all ("/ < img. * srcs * = s * [" |)? s * ([^ > "' s] *) /I", Str_ireplace ("", "", $content), $arr);
오 플러스 php 내 콘텐츠 부분 탈출, 그래서 내가 제거, Str_ireplace ("", "", $content), $arr 배열 (2 차원)에 일치 하는 콘텐츠를 저장 합니다.
$arr [1]은 경로 저장 하는 배열입니다.
인스턴스
코드는 다음과 같이 복사 됩니다.
<? php
$ext = ' gif | jpg | jpeg | bmp | png '; //list 이미지 접미사 http://www.jzread.com과 일치 하는 여러 확장을 달성 하기 위해 녹색 소프트웨어
$str = "< p >< img 제목 =" 녹색 소프트웨어 "alt =" 녹색 소프트웨어 "onload =" Resizeimage (이, 860) "src =" Http://www.jzread.com/data/soft _img/2010091101619.jpg "/ >< /p >< p >< img 제목 =" 녹색 소프트웨어 "alt =" 녹색 소프트웨어 "onload =" Resizeimage (이, 860) "src =" "Http://www.jzread.com/data/soft_img/2010091029938.jpg" / >< /p >< p >< img 제목 = "녹색 소프트웨어" alt = "녹색 소프트웨어" Onload = "Resizeimage" (이, 860) "src =" http://www.jzread.com/data/soft_img/2010092839019.jpg "/ >< /p >";
Preg_match_all ("/(HREF|SRC) = ([" | "]?) ([^ "' >] +.] ($ext)) 2 / 나 ", $str, $matches);
Var_dump ($matches);
? >
결과
코드 복사 코드
배열 (5) {
[0] = & gt
배열 (3) {
[0] = >
& nb sp; 문자열 "src =" http://www.jzread.com/data/soft_img/2010091101619.jpg "
[1] = >
문자열 src = "Http://www.jzread.com/data/soft_img/2010091029938.jpg"
[2] = & gt
문자열 (src =) "Http://www.jzread.com/data/soft_img/2010092839019.jpg"
}
[1] = & gt
배열 (3) {
[0] = & gt
문자열 (3) "src"
& nb sp, [1] = & gt
문자열 (3) "src"
[2] = >
문자열 (3) "src"
}
[2] = & gt
배열 (3) {
[0] = >
&NBSP; & N bsp; 문자열 (1) "" "
[1] = & gt
문자열 (1)" "
[2 ] = & gt
문자열 (1) ""
& NBsp;
[3] = & gt
배열 (3) {
[0] = & gt
문자열 (우) http:// Www.jzread.com/data/soft_img/2010091101619.jpg "
[1] = & gt
문자열 (51)"
Http://www.jzread.com/data/soft_img/2010091029938.jpg [2] = >
(우) "Http://www.jzread.com/data/soft_img/2010092839019.jpg"
문자열}
[4] = & gt
(배열 3 {
[0] = & gt
문자열 (3) "JPG"
[1] = >
& nbsp; (3) "JPG"
문자열 [2] = & gt
문자열 (3) "JPG"
}
}
PHP 그림을 일치 하 고 그림에 자세한 링크 추가
코드는 다음과 같이 복사 됩니다.
$newstext = preg_replace (Preg_replace (< img [^ >] + srcs * = s *)? [^ > "s] +"? [^ >] * >) /im ',' <는 href = ' $2 > 1 달러 < /a > ', $newstext);
1.preg_replace와 str_replace 차이:
단지 순수한 문자 대체, Str_replace Preg_replace 이며 정기적으로 교체
설명 2. $0, $1, $2:
$; 전체 패턴에 일치 하는 텍스트를 말합니다.
첫 번째 () 문자열;을 인용 참조
$는 문자열; 인용 두 번째 ()를 참조