php截取字符串并保留完整xml标签的函数代码_PHP
/**
* author: goosman
* blog: http://blog.csdn.net/lgg201
* mail: lgg860911@yahoo.com.cn
*/
$str = '01234567890120123456789';
function substr_remain_tag($s, $o, $l) {
$is_match = preg_match_all(
#该正则表达式解析xml标签, 标签属性内部支持转义符"\", 支持对"\"自身和对应引号的转义
(?: #属性列表
\s+ #前置空格
\w+ #属性名
\s* #属性名后的空白(为了兼容)
= #属性名值之间的等号
\s* #属性值前的空白(为了兼容)
(?: #属性值(引号处理)
" #双引号的情况
(?:
\\\\\\\\ #吃掉连续两个转义符(表示转义符自身)
\\\\" #吃掉转义符接着一个引号(表示转义的引号)
[^"\\\\]* #其他字符
)*
"
' #单引号情况
(?:
\\\\\\\\ #吃掉连续两个转义符(表示转义符自身)
\\\\' #吃掉转义符接着一个引号(表示转义的引号)
[^'\\\\]* #其他字符
)*
'
)
)*
>
.*? #标签内容
(?1)> #结束标签
;x
heredoc
, $s, $matches, PREG_OFFSET_CAPTURE, $o);
if ( $is_match ) {
foreach ( $matches[0] as $match ) {
$o0 = $match[1];
#标签左边界越过截取目标右边界, 退出
if ( $o0 >= $o + $l ) break;
$l0 = strlen($match[0]);
#标签右边界在截取目标右边界内, 继续
if ( $o0 + $l0
#以下为标签跨边界处理
$l = $o0 + $l0 - $o;
break;
}
}
return substr($s, $o, $l);
}
echo $str . chr(10);
echo substr_remain_tag($str, 0, 20) . chr(10);

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go 언어는 문자열 가로채기를 포함하여 풍부한 문자열 처리 기능을 제공하는 강력하고 유연한 프로그래밍 언어입니다. Go 언어에서는 슬라이스를 사용하여 문자열을 가로챌 수 있습니다. 다음으로 Go 언어에서 문자열을 가로채는 방법을 구체적인 코드 예시와 함께 자세히 소개하겠습니다. 1. 슬라이싱을 사용하여 문자열 가로채기 Go 언어에서는 슬라이싱 표현식을 사용하여 문자열의 일부를 가로챌 수 있습니다. 슬라이스 표현식의 구문은 다음과 같습니다: Slice:=str[start:end]where, s

차단 방법: 1. "string[index]" 구문으로 단일 문자를 차단합니다. 여기서 "string"은 소스 문자열을 나타내고 "index"는 가져올 문자 아래 첨자를 나타냅니다. 2. 하위 문자열, 구문 "string"을 차단합니다. [start: end" ]", 여기서 "start"는 가로챌 첫 번째 문자의 인덱스(가로채기할 때 이 문자 포함)를 나타내고, "end"는 가로채는 마지막 문자의 인덱스(이 문자 제외)를 나타냅니다. . 전체 문자열, 구문 "string[:]"을 가져옵니다.

MySQL에서 LEFT 함수를 사용하여 문자열의 왼쪽 부분을 가로채는 방법 데이터베이스 관리 시스템에서는 문자열의 특정 부분을 가로채야 하는 상황에 자주 직면합니다. MySQL은 문자열의 왼쪽 부분을 가로채는 데 사용할 수 있는 LEFT 함수를 포함하여 많은 내장 문자열 함수를 제공합니다. LEFT 함수의 구문은 다음과 같습니다. LEFT (str, length) 여기서 str은 차단할 문자열이고 length는 차단할 길이입니다. 다음으로 코드 예제를 사용하여 방법을 보여드리겠습니다.

PHP의 substr() 함수: 문자열의 일부를 가로채는 방법에는 특정 코드 예제가 필요합니다. PHP 프로그래밍에서 문자열 처리는 가장 일반적인 작업 중 하나입니다. 문자열의 일부를 가로채는 것은 문자열을 처리할 때 자주 발생하는 요구 사항입니다. PHP에서는 내장된 substr() 함수를 사용하여 문자열의 일부를 가로챌 수 있습니다. 이 기사에서는 substr() 함수의 사용법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. substr() 함수의 기본 사용법은 다음과 같습니다.

MySQL의 LEFT 함수를 사용하여 지정된 길이의 문자열을 가로채십시오. MySQL에서는 특정 요구 사항을 충족하기 위해 문자열을 가로채야 하는 경우가 많습니다. 그 중 LEFT 함수는 문자열의 지정된 길이를 가로챌 수 있는 매우 실용적인 함수입니다. 이 기사에서는 MySQL의 LEFT 함수를 사용하여 문자열을 가로채고 코드 예제를 제공하는 방법을 소개합니다. 먼저 LEFT 함수의 구문을 이해해야 합니다. LEFT 함수의 기본 구문은 다음과 같습니다. LEFT(문자열, 길이

MySQL에서 RIGHT 함수를 사용하여 문자열의 오른쪽 부분을 가로채는 방법 MySQL에서 RIGHT 함수는 문자열의 오른쪽 부분을 가로채는 데 사용되는 함수입니다. 가로챌 문자열과 가로챌 길이라는 두 개의 매개 변수를 허용하고 지정된 길이가 포함된 문자열을 반환합니다. RIGHT 함수를 사용하면 문자열의 오른쪽 부분을 매우 편리하게 얻을 수 있습니다. 아래에서는 코드 예제를 통해 RIGHT 함수를 사용하는 방법을 보여줍니다. 먼저, 가로챌 문자열을 저장할 샘플 데이터 테이블을 만들어야 합니다. CR

Node.js는 문자열을 가로채기 위해 substring() 메서드, Slice() 메서드, substr() 메서드 및 Split() 메서드를 사용합니다. 자세한 소개: 1. substring() 메소드는 두 개의 매개변수, 즉 시작 위치와 끝 위치를 허용합니다. 2. Slice() 메소드는 음수를 매개변수로 사용하여 인덱스가 문자열의 끝에서 계산됨을 나타냅니다. 문자열 3. 두 개의 매개변수, 즉 시작 위치와 가로챌 문자 수를 허용하는 substr() 메소드 4. 분할() 메소드 등.

Golang은 다양한 유형의 애플리케이션을 작성하는 데 사용할 수 있는 강력한 프로그래밍 언어입니다. 그 중 정규식을 사용하여 XML 태그의 속성값을 확인하는 것은 golang의 기본 기술입니다. 이번 글에서는 정규식을 사용하여 golang에서 XML 태그의 속성값을 확인하는 방법을 소개하겠습니다. XML은 웹에서 데이터를 교환하는 데 일반적으로 사용되는 마크업 언어입니다. 구문 구조는 매우 엄격하며 각 요소에는 태그와 속성 세트가 포함되어야 합니다. XML을 사용할 때 태그 속성의 값이 일치하는지 확인해야 하는 경우가 많습니다.
