Table des matières
回复讨论(解决方案)
Maison développement back-end tutoriel php preg_replace_callback替换preg_replace

preg_replace_callback替换preg_replace

Jun 23, 2016 pm 01:51 PM
preg_replace 替换

$tem =   $arr['invoice_type'];
echo "

";  <br> print_r($tem);  <br> 输出  <br> a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:0:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}  <br>  <br> $teem []= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $arr['invoice_type'] );  <br> echo "<pre class="brush:php;toolbar:false">";  <br> print_r($teem);  <br> 输出  <br> Array  <br> (  <br>     [0] => a:2:{'s:'.strlen('type').':"type";'a:3:{i:0;'s:'.strlen('个人发票').':"个人发票";'i:1;'s:'.strlen('企业发票').':"企业发票";'i:2;'s:'.strlen('').':"";'}'s:'.strlen('rate').':"rate";'a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}  <br> )  <br>  <br> $teemm []= preg_replace_callback('!s:(\d+):"(.*?)";!s', function ($matches) {return strlen('$2').':\"$2\";';}, $arr['invoice_type'] );  <br> echo "<pre class="brush:php;toolbar:false">";  <br> print_r($teemm);  <br> 输出  <br> Array  <br> (  <br>     [0] => a:2:{2:\"$2\";a:3:{i:0;2:\"$2\";i:1;2:\"$2\";i:2;2:\"$2\";}2:\"$2\";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}  <br> )  <br>  <br> 如何让preg_replace_callback输出的信息和preg_replace输出的一样  <p>  </p>  <br> <h2 id="回复讨论-解决方案">回复讨论(解决方案)</h2> <p class="sougouAnswer">  不知道你要干什么  <br> 实例的结果并不对! </p> <p class="sougouAnswer">  第二个输出弄错了是下面的  <br> $teem []= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $arr['invoice_type'] );  <br> echo "</p><pre class="brush:php;toolbar:false">";  <br> print_r($teem);  <br> 输出  <br> Array  <br> (  <br>     [0] => a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:0:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}  <br> )  <p class="sougouAnswer">  </p><p class="yy">   不知道你要干什么   <br> 实例的结果并不对!  </p>  <br>  <br> 第二个输出弄错了是下面的  <br> $teem []= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $arr['invoice_type'] );  <br> echo "<pre class="brush:php;toolbar:false">";  <br> print_r($teem);  <br> 输出  <br> Array  <br> (  <br>     [0] => a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:0:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}  <br> )   <p class="sougouAnswer">  <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$s = preg_replace_callback('/s:\d+:"(.+?)";/s',		function($r) {			$n = strlen($r[1]);			return "s:$n:\"$r[1]\";";		}, $s);
Copier après la connexion
Copier après la connexion

$s = preg_replace_callback('/s:\d+:"(.+?)";/s',		function($r) {			$n = strlen($r[1]);			return "s:$n:\"$r[1]\";";		}, $s);
Copier après la connexion



大神我按照你的改了输出数据是这样
代码
 $teem = preg_replace_callback('/s:\d+:"(.+?)";/s',
            function($r) {
                $n = strlen($r[1]);
                return "s:$n:\"$r[1]\";";
            }, $arr['invoice_type'] );
        echo "
";  <br>         print_r($teem);  <br> 输出  <br> a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:12:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}  <br>  <br> 企业发票后边S:0:""   变为了s:12:""  多了12长度,这个怎么来的  <br>  <p class="sougouAnswer">  没考虑值为空的情况  <br> 把 '/s:\d+:"(.+?)";/s'   <br> 改为 '/s:\d+:"(.*?)";/s' </p> <p class="sougouAnswer">  </p><p class="yy">   没考虑值为空的情况   <br> 把 '/s:\d+:"(.+?)";/s'    <br> 改为 '/s:\d+:"(.*?)";/s'  </p>  <br>  <br> 万分感谢 
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Maîtrisez les touches de raccourci de remplacement de PyCharm en 5 minutes et augmentez facilement votre vitesse de programmation ! Maîtrisez les touches de raccourci de remplacement de PyCharm en 5 minutes et augmentez facilement votre vitesse de programmation ! Feb 22, 2024 am 10:57 AM

PyCharm est un environnement de développement intégré Python couramment utilisé avec des fonctions riches et des touches de raccourci qui peuvent aider les développeurs à améliorer l'efficacité de la programmation. Dans le processus de programmation quotidien, la maîtrise des compétences de remplacement des touches de raccourci de PyCharm peut aider les développeurs à accomplir leurs tâches plus rapidement. Cet article vous présentera quelques touches de raccourci de remplacement couramment utilisées dans PyCharm pour vous aider à améliorer facilement votre vitesse de programmation. 1.Remplacement Ctrl+R Dans PyCharm, vous pouvez utiliser la touche de raccourci Ctrl+R pour effectuer des opérations de remplacement.

Utilisez la fonction StringBuilder.replace() de Java pour remplacer une plage de caractères spécifiée Utilisez la fonction StringBuilder.replace() de Java pour remplacer une plage de caractères spécifiée Jul 24, 2023 pm 06:12 PM

Utilisez la fonction StringBuilder.replace() de Java pour remplacer une plage de caractères spécifiée. En Java, la classe StringBuilder fournit la méthode replace(), qui peut être utilisée pour remplacer une plage de caractères spécifiée dans une chaîne. La syntaxe de cette méthode est la suivante : publicStringBuilderreplace(intstart,intend,Stringstr) La méthode ci-dessus est utilisée pour remplacer l'étoile d'index de

Guide du débutant PyCharm : analyse complète des fonctions de remplacement Guide du débutant PyCharm : analyse complète des fonctions de remplacement Feb 25, 2024 am 11:15 AM

PyCharm est un puissant environnement de développement intégré Python doté de fonctions et d'outils riches qui peuvent considérablement améliorer l'efficacité du développement. Parmi elles, la fonction de remplacement est l'une des fonctions fréquemment utilisées dans le processus de développement, qui peut aider les développeurs à modifier rapidement le code et à améliorer la qualité du code. Cet article présentera en détail la fonction de remplacement de PyCharm, combinée à des exemples de code spécifiques, pour aider les novices à mieux maîtriser et utiliser cette fonction. Introduction à la fonction de remplacement La fonction de remplacement de PyCharm peut aider les développeurs à remplacer rapidement le texte spécifié dans le code

Remplacer le nom de classe d'un élément à l'aide de jQuery Remplacer le nom de classe d'un élément à l'aide de jQuery Feb 24, 2024 pm 11:03 PM

jQuery est une bibliothèque JavaScript classique largement utilisée dans le développement Web. Elle simplifie les opérations telles que la gestion des événements, la manipulation des éléments DOM et l'exécution d'animations sur les pages Web. Lorsque vous utilisez jQuery, vous rencontrez souvent des situations dans lesquelles vous devez remplacer le nom de classe d'un élément. Cet article présentera quelques méthodes pratiques et des exemples de code spécifiques. 1. Utilisez les méthodes RemoveClass() et AddClass(). JQuery fournit la méthode RemoveClass() pour la suppression.

Comment utiliser la fonction REPLACE pour remplacer une partie spécifiée d'une chaîne dans MySQL Comment utiliser la fonction REPLACE pour remplacer une partie spécifiée d'une chaîne dans MySQL Jul 25, 2023 pm 01:18 PM

MySQL est un système de gestion de bases de données relationnelles couramment utilisé qui fournit une variété de fonctions pour traiter et exploiter les données. Parmi eux, la fonction REPLACE est utilisée pour remplacer la partie spécifiée de la chaîne. Dans cet article, nous présenterons comment utiliser la fonction REPLACE pour le remplacement de chaînes dans MySQL et démontrerons son utilisation à travers des exemples de code. Tout d’abord, jetons un œil à la syntaxe de la fonction REPLACE : REPLACE(str, search_str, replace_str).

Comment remplacer un mot dans Excel en utilisant Python ? Comment remplacer un mot dans Excel en utilisant Python ? Sep 16, 2023 pm 10:21 PM

En Python, nous pouvons remplacer un mot par un autre mot dans Excel à l'aide d'une bibliothèque Python tierce appelée openpyxl. Microsoft Excel est un outil utile pour gérer et analyser les données. Grâce à Python, nous pouvons automatiser certaines tâches de gestion de données Excel. Dans cet article, nous apprendrons comment remplacer un mot dans Excel à l'aide de Python. Avant d'installer openpyxl pour remplacer Word dans Excel, nous devons installer la bibliothèque openpyxl dans le système à l'aide du gestionnaire de packages Python. Pour installer openpyxl, entrez la commande suivante dans le terminal ou l'invite de commande. Pipiniste

PyCharm remplace les touches de raccourci pour rendre la programmation plus pratique ! PyCharm remplace les touches de raccourci pour rendre la programmation plus pratique ! Feb 21, 2024 pm 12:03 PM

PyCharm est un environnement de développement intégré populaire parmi les programmeurs. Il fournit des fonctions et des outils puissants pour rendre la programmation plus efficace et plus pratique. Dans PyCharm, un réglage et un remplacement raisonnables des touches de raccourci sont l'une des clés pour améliorer l'efficacité de la programmation. Cet article explique comment remplacer les touches de raccourci dans PyCharm pour rendre la programmation plus pratique. 1. Pourquoi devrions-nous remplacer les touches de raccourci ? Dans PyCharm, les touches de raccourci peuvent aider les programmeurs à effectuer rapidement diverses opérations et à améliorer l'efficacité de la programmation. Cependant, chacun a des habitudes différentes et certaines personnes peuvent

Révéler le secret pour remplacer rapidement du code dans PyCharm Révéler le secret pour remplacer rapidement du code dans PyCharm Feb 25, 2024 pm 11:21 PM

PyCharm est un environnement de développement intégré Python très apprécié des développeurs. Il offre de nombreuses façons de remplacer rapidement le code, rendant le processus de développement plus efficace. Cet article révélera plusieurs méthodes couramment utilisées pour remplacer rapidement le code dans PyCharm et fournira des exemples de code spécifiques pour aider les développeurs à mieux utiliser ces fonctionnalités. 1. Utilisez la fonction de remplacement PyCharm fournit une fonction de remplacement puissante qui peut aider les développeurs à remplacer rapidement le texte dans le code. Utilisez le raccourci Ctrl+R ou faites un clic droit dans l'éditeur et sélectionnez Re

See all articles