


PHP interception string function (Chinese string) (1/2)_PHP tutorial
php interception string function (Chinese string) This is a PHP string interception function. It supports Chinese strings. It can intercept mixed content such as HTML and Chinese and Western texts, and the HTML tag is not included in the character interception. If the HTML tag does not Closed, the program will automatically filter out redundant tags.
php tutorial interception string function (Chinese string)
This is a PHP string interception function. It supports Chinese strings. It can intercept mixed content such as HTML and Chinese and Western texts, and the HTML tag is not included in the character interception. If the HTML tag does not Closed, the program will automatically filter out redundant tags.
*/
function mysubstr( $str, $length ){
$tagcnt = 0;
$charcnt = 0;
$tag = '';
$maxlen = strlen( $str );
$resultstr = '';
$tagstack = array();for( $i = 0; $i < $length; $i++ ){
if( $str[$i] == '<' ){$resultstr .= $str[$i];
for( $j=$i; $str[$j]!='>'; $j++,$length++ ){
$tag = '';
$tag .= $str[$j];
}
$tagcnt++;
$length++;
$tag .= '>';
// If it is a start tag, push it onto the stack, if it is a corresponding end tag, pop it out of the stack
If( preg_match('/<([^/]+)?>/i', $tag, $r) ){
Echo 'into the stack:', htmlspecialchars ($ r [1]), '& lt; br /& gt;';
array_push($tagstack, $r[1]);
}
elseif( preg_match( '/'.$tagstack[count($tagstack)-1].'/', $tag ) ){
Echo 'out of the stack:', htmlspecialchars ($ tagstack [count ($ tagstack) -1]), '& lt; br /& gt;';
array_pop( $tagstack);
}
continue;
$charcnt++;
}
$resultstr .= $str[$i];
}
echo '
The final result is:';
//The stack is empty and returns directlyIf(empty($tagstack)){
$tag = array_pop($tagstack);
return $resultstr;
}
//Otherwise remove the start tag without end tag
else{
while(!empty($tagstack)){
$index = strrpos($resultstr, $tag);
for($i = $index-1; $resultstr[$i] != '>'; $i++ ){
$resultstr[$i] = '';
$resultstr[$i++] = '';
}
return $resultstr;
}
}
$sttime = microtime(true);
}
$stmem = memory_get_usage();
$str = "a1
b2c3d4e5
f6g7h8";echo 'The processing result is:
',htmlspecialchars( mysubstr( $str, 18 ) ),'
';echo "Memory usage:",(memory_get_usage()-$stmem),'
';echo "Algorithm running time (microtime):",(microtime(true)-$sttime),'
';
//Method 2
/
**
* Function name html_substr
* Function: intercept a string of specified length from the html string, html tags are not included
* Parameter
* $str The string to be intercepted
* $len The length to be intercepted
* $mode processing method of unmatched tags 0 deletes (default), 1 completes
* Return the intercepted string
* Description
* Multi-byte characters are not considered, only bytes are used as the counting unit
* Marks that can exist alone are not considered
**/
function html_substr($str, $len, $mode=0) {
$ar= preg_split('/(|<[^>]*>)/s', $str, -1, preg_split_delim_capture);
foreach($ar as $k => $v) {
If($v{0} != '<') {
$len = $len - strlen($v);
If($len < 0) $ar[$k] = substr($v, 0, $len);
}else $ar[$k] = strtolower($v);
If($len <= 0) break;
}
$ar = array_slice($ar, 0, $k+1);
$len = count($ar);
foreach($ar as $k=>$v) {
If($v{0} == '<' && $v[1] != '/') {
$ch = str_replace('<', '', $v);
for($i=$k+1; $i<$len && $ar[$i]!=$ch; $i++);
If($i == $len)
if($mode)
$ar[$len] = $ch . $ar[$len];
else
$ar[$k] = '';
}
}
return join('', $ar);
}
$str = "123abc456def789";echo '
';
echo html_substr($str, 5) .php_eol;
echo html_substr($str, 5, 1);
1 2

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.
