preg_replace_callback替换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);
$s = preg_replace_callback('/s:\d+:"(.+?)";/s', function($r) { $n = strlen($r[1]); return "s:$n:\"$r[1]\";"; }, $s);
大神我按照你的改了输出数据是这样
代码
$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> 万分感谢

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Verwenden Sie die StringBuilder.replace()-Funktion von Java, um einen bestimmten Zeichenbereich zu ersetzen. In Java stellt die StringBuilder-Klasse die Methode replace() bereit, mit der ein bestimmter Zeichenbereich in einer Zeichenfolge ersetzt werden kann. Die Syntax dieser Methode lautet wie folgt: publicStringBuilderreplace(intstart,intend,Stringstr) Die obige Methode wird verwendet, um den Indexstern von zu ersetzen

PyCharm ist eine häufig verwendete integrierte Python-Entwicklungsumgebung mit umfangreichen Funktionen und Tastenkombinationen, die Entwicklern dabei helfen können, die Programmiereffizienz zu verbessern. Im täglichen Programmierprozess kann die Beherrschung der Fähigkeiten zum Ersetzen von Tastenkombinationen in PyCharm Entwicklern dabei helfen, Aufgaben schneller zu erledigen. In diesem Artikel werden einige häufig verwendete Ersatz-Tastenkombinationen in PyCharm vorgestellt, mit denen Sie Ihre Programmiergeschwindigkeit auf einfache Weise verbessern können. 1.Strg+R-Ersetzung In PyCharm können Sie die Tastenkombination Strg+R verwenden, um Ersetzungsvorgänge durchzuführen.

PyCharm ist eine leistungsstarke integrierte Python-Entwicklungsumgebung mit umfangreichen Funktionen und Tools, die die Entwicklungseffizienz erheblich verbessern können. Unter diesen ist die Ersetzungsfunktion eine der im Entwicklungsprozess häufig verwendeten Funktionen, die Entwicklern helfen kann, den Code schnell zu ändern und die Codequalität zu verbessern. In diesem Artikel wird die Ersetzungsfunktion von PyCharm ausführlich vorgestellt, kombiniert mit spezifischen Codebeispielen, um Anfängern zu helfen, diese Funktion besser zu beherrschen und zu verwenden. Einführung in die Ersetzungsfunktion Die Ersetzungsfunktion von PyCharm kann Entwicklern dabei helfen, bestimmten Text im Code schnell zu ersetzen

jQuery ist eine klassische JavaScript-Bibliothek, die in der Webentwicklung weit verbreitet ist. Sie vereinfacht Vorgänge wie die Verarbeitung von Ereignissen, die Bearbeitung von DOM-Elementen und die Durchführung von Animationen auf Webseiten. Bei der Verwendung von jQuery kommt es häufig vor, dass Sie den Klassennamen eines Elements ersetzen müssen. In diesem Artikel werden einige praktische Methoden und spezifische Codebeispiele vorgestellt. 1. Verwenden Sie die Methoden „removeClass()“ und „addClass()“. jQuery stellt die Methode „removeClass()“ zum Löschen bereit

PyCharm ist eine integrierte Python-Entwicklungsumgebung, die bei Entwicklern sehr beliebt ist. Sie bietet viele Möglichkeiten, Code schnell zu ersetzen und so den Entwicklungsprozess effizienter zu gestalten. In diesem Artikel werden mehrere häufig verwendete Methoden zum schnellen Ersetzen von Code in PyCharm vorgestellt und spezifische Codebeispiele bereitgestellt, um Entwicklern dabei zu helfen, diese Funktionen besser zu nutzen. 1. Verwenden Sie die Ersetzungsfunktion. PyCharm bietet eine leistungsstarke Ersetzungsfunktion, mit der Entwickler schnell Text im Code ersetzen können. Verwenden Sie die Tastenkombination Strg+R oder klicken Sie mit der rechten Maustaste in den Editor und wählen Sie Re

PyCharm ist eine integrierte Entwicklungsumgebung, die bei Programmierern beliebt ist. Sie bietet leistungsstarke Funktionen und Tools, um die Programmierung effizienter und komfortabler zu gestalten. In PyCharm ist die sinnvolle Einstellung und Ersetzung von Tastenkombinationen einer der Schlüssel zur Verbesserung der Programmiereffizienz. In diesem Artikel wird erläutert, wie Sie Tastenkombinationen in PyCharm ersetzen, um die Programmierung komfortabler zu gestalten. 1. Warum sollten wir Tastenkombinationen in PyCharm ersetzen, um Programmierern dabei zu helfen, verschiedene Vorgänge schnell abzuschließen und die Programmiereffizienz zu verbessern? Allerdings hat jeder andere Gewohnheiten, und bei manchen Menschen ist das vielleicht der Fall

MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem, das eine Vielzahl von Funktionen zum Verarbeiten und Betreiben von Daten bietet. Unter anderem wird die REPLACE-Funktion verwendet, um den angegebenen Teil der Zeichenfolge zu ersetzen. In diesem Artikel stellen wir die Verwendung der REPLACE-Funktion zum Ersetzen von Zeichenfolgen in MySQL vor und demonstrieren ihre Verwendung anhand von Codebeispielen. Schauen wir uns zunächst die Syntax der REPLACE-Funktion an: REPLACE(str,search_str,replace_str).

In Python können wir mithilfe einer Python-Bibliothek eines Drittanbieters namens openpyxl ein Wort durch ein anderes Wort in Excel ersetzen. Microsoft Excel ist ein nützliches Tool zum Verwalten und Analysieren von Daten. Mit Python können wir einige Excel-Datenverwaltungsaufgaben automatisieren. In diesem Artikel erfahren Sie, wie Sie mit Python ein Wort in Excel ersetzen. Bevor wir openpyxl installieren, um Word in Excel zu ersetzen, müssen wir die openpyxl-Bibliothek mithilfe des Python-Paketmanagers im System installieren. Um openpyxl zu installieren, geben Sie den folgenden Befehl im Terminal oder in der Eingabeaufforderung ein. Pipinst
