帮小弟我把这函数精简下啊
帮我把这函数精简下啊,,
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><?php $varchar='德国和丹麦都在第一场比赛1-0获胜,在次轮比赛中,德国2-1击败荷兰,两场小组赛战罢,德国队虽然拿到了6分,但依然未能保证出线,最后一场如果输给丹麦仍然有出局可能。丹麦上一场在0-2落后的情况下连追两球,但最后还是2-3输给葡萄牙,将小组次席拱手让给葡萄牙。 丹麦想要出线必须力争击败德国,好在他们也不缺乏击败德国的感觉。在两队最近3场交手中,丹麦令人吃惊地2胜1平占据上风,最近一次交手是在2010年8月,丹麦在落后两球情况下扳平比分。两队上一次在欧洲杯交手则是1992年欧洲杯决赛,当时正是丹麦童话的巅峰,北欧人2-0击败德国夺冠。 在德国队前两场比赛中,戈麦斯成为最大的亮点。超级马里奥连续两场比赛包揽了德国3粒进球,恐怖的是他进3球居然只花了6脚射门。戈麦斯目前以3球排名射手榜首位,自从1976年欧洲杯穆勒单届射进4球以来,德国队此后36年还没有任何球员欧洲杯单届进球超过3个。左边锋波多尔斯基在此前两场小组赛均打满全场,国家队出场次数达到99场,本场有望实现百场。 双方都没有对首发阵容进行大的调整,德国队只是因为博阿滕停赛而派上了本德,丹麦也只换上鲍尔森,队内元老罗梅达尔因伤缺席。本场德国前锋波多尔斯基迎来国家队第100场比赛,小将本德则是首次在国家队首发。 第2分钟,赫迪拉禁区前沿左侧传中,中路无人拿到皮球,后点穆勒胸部停球后左脚抽射稍稍高出。第5分钟,丹麦左侧角球,本特纳远点头球攻门被诺伊尔拿到。1分钟后,德国迅速反击,厄齐尔左侧直塞,波多尔斯基传中,克亚尔解围不力,穆勒门前3米处射门被安德森神奇化解。第12分钟,戈麦斯禁区外围左脚远射高出。'; $keyword="本德|鲍尔森"; //$keyword="射门|本德|鲍尔森"; //$keyword="丹麦|角球|头球|神奇"; function pipeidu($keyword,$varchar,$length){ $keyexp=explode('|',$keyword); $keyNum=count($keyexp); $ar = preg_split('/('.$keyword.')/', $varchar, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE); for($j=0; $j<count($ar)-1; $j++) { $t = $ar[$j][1]; $r[$t] = 0; for($i=$j; $i<count($ar); $i++) { if($ar[$i][0] == '本德'||$ar[$i][0] == '鲍尔森') { //[color=#FF0000]求此处适应一个或多个词组,越精简越好[/color]。 if($ar[$i][1]+strlen($ar[$i][0]) - $t < $length) $r[$t]++; else $r[$t=$ar[$i][1]] = 0; } } } if(isset($r)&&count($r)>0){ arsort($r); $r=array_keys($r); return $r=substr($varchar,$r[0],$length); } else{return $r=substr($varchar,0,$length);} } ?>
------解决方案--------------------
呵呵, 原来你就喜欢用这些半残废封装.
------解决方案--------------------
to qq120848369
lz 的代码不是如你所说 http://topic.csdn.net/u/20120619/02/c024bcf0-9c61-4e61-b58c-2844f0af2310.html
1,扫一遍找出所有的关键字。
2,再扫一遍,计算出每个end_index位置之前的关键字总数,同时计算180个字符之前的beg_index位置的关键字个数差值。
3,对关键字差值最大的180长度的段,strrstr,strstr分别头尾找到一个关键字,把多余的部分切掉,这样可以让字符再少一点。
的思路做的吗?
1、用 preg_split 完成找出所有的关键字
2、从每一个关键字出现的位置开始统计指定长度内关键字出现的次数(双重循环)
当然 lz 的代码也是用可优化的地方的,比如
外层循环中的
$t = $ar[$j][1];
$r[$t] = 0;
与内层循环中的
$r[$t=$ar[$i][1]] = 0;
存在重复计算的问题(因为外层的 $j 已经遍历了全部关键字节点)

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



XREAL stellte auf der Spatial Computing-Konferenz zur Einführung neuer Produkte ein neues Produkt vor: XREALBeamPro zum Preis von 1.299 Yuan. Laut der offiziellen Einführung handelt es sich bei XREALBeamPro um ein Computerterminal, das schrittweise 2D-Anwendungen in den 3D-Raum freigibt. Ausgestattet mit XREALAR-Brillen wird es ein „vollständiges AR-Weltraumcomputersystem für Verbraucher“ bilden und die Migrationskosten der Benutzer vom Mobiltelefon minimieren Seite. Vom Design her ähnelt XREALBeamPro einem Smartphone, es handelt sich jedoch nicht um ein Mobiltelefonprodukt, sondern um ein räumliches Rechenterminal, das mit einem Touch-Display ausgestattet ist. Es wird offiziell als „AR-Spatial-Computing-Terminal wie ein Telefon“ positioniert. Auf der Pressekonferenz brachte XREAL-Gründer und CEO Xu Chi seine Begeisterung über die Fähigkeiten von BeamPro zum Ausdruck.

Mit der Entwicklung von AR (Augmented Reality) und VR (Virtual Reality) sind diese beiden Technologien zu einem wichtigen Bestandteil von Innovation und Erlebnis geworden. Mit der Popularität von PHP als Netzwerkprogrammiersprache ist PHP zu einer praktikablen Wahl für die Entwicklung von AR/VR-Anwendungen geworden. In diesem Artikel wird erläutert, wie Sie PHP zum Erstellen von AR/VR-Anwendungen verwenden. 1. AR- und VR-Technologien verstehen Bevor wir mit der Erstellung von AR/VR-Anwendungen beginnen, müssen wir die verschiedenen Technologien und Bibliotheken verstehen. AR-Technologie ermöglicht die Interaktion virtueller Objekte oder Informationen mit realen Umgebungen. V

(Nweon, 26. September 2023) Microsoft ist davon überzeugt, dass MicroLED die Eigenschaften einer geringen Größe, eines geringen Gewichts, einer hohen Helligkeit und einer hohen Packungsdichte aufweist und möglicherweise besonders für am Kopf montierte Geräte geeignet ist, die eine hohe Auflösung, geringe Größe und ein geringes Gewicht erfordern .Überwachen. In einer Patentanmeldung mit dem Titel „Mikrolinsen zur Manipulation des Hauptstrahlwinkels über einen großen Bereich für die Panel-Anzeige“ stellte Microsoft eine Mikrolinse vor, die eine Manipulation des Hauptstrahlwinkels über einen großen Bereich für die Panel-Anzeige ermöglicht, sowie ein Anzeigesystem, das mit dem Mikrolinsen-Array konfiguriert ist. Dabei entspricht jede Mikrolinse im Array einem jeweiligen Pixel des Panel-Displays. Mikrolinsen werden entsprechend ihrer Konfiguration konfiguriert

Vom 9. bis 12. Januar versammelten sich mehr als 4.000 Aussteller auf der CES, der „Spring Festival Gala“ der Unterhaltungselektronik. Als innovatives Unternehmen im Bereich Consumer AR nahm Mojie Technology zum ersten Mal an der CES teil und demonstrierte damit die starke Stärke chinesischer AR-Unternehmen bei Kerngeräten, kompletten Maschinenlösungen und maßgeschneiderten Dienstleistungen. Am Mojie-Stand wurden die AR-Brillen auf Basis eines binokularen Harzbeugungslichtleiters + MicroLED ausgestellt, die das Interesse vieler Besucher weckten, die sie anprobierten und ihre Funktionen erlebten. Diese AR-Brille verfügt über viele praktische Funktionen. Erstens kann der Träger den Textinhalt in Echtzeit durch das Brillenglas betrachten, was das Lesen komfortabler macht. Zweitens verfügt die Brille über eingebaute Mikrofone, die Sprachinformationen sammeln und diese über die Sofortübersetzungsfunktion in Text in der angegebenen Sprache umwandeln können.

NTT QONOQ Devices hat die drahtlose XR-Brille Mirza für Smartphones vorgestellt, die Benutzer von der Notwendigkeit befreit, sich mit Kabeln herumzuschlagen. Die Brille kann virtuelle AR-Inhalte in realen Räumen wie Pokemon Go oder ihre Telefoninhalte auf einer großen virtuellen Anzeige anzeigen

Als innovationsgetriebenes Technologieunternehmen ist Christie in der Lage, umfassende Lösungen, umfassende Branchenerfahrung und ein umfassendes Servicenetzwerk für intelligente audiovisuelle Technologie bereitzustellen. Auf der diesjährigen InfoCommChina brachte Christie reine RGB-Laserprojektoren, 1DLP-Laserprojektoren, LED-Videowände sowie Content-Management- und Verarbeitungslösungen mit. Am Veranstaltungsort wurde eine großformatige, speziell für astronomische Vorführungen entworfene äußere Kugelkuppel zum Mittelpunkt der Szene, die Christie „Sphere Deep Space“ nannte, und der reine Laserprojektor Christie M4K25RGB verlieh ihr „grüne Vitalität“. Herr Sheng Xiaoqiang, leitender technischer Servicemanager der kommerziellen Geschäftsabteilung in China, sagte: Es ist nicht schwierig, eine äußere sphärische Kuppelprojektion zu realisieren, aber sie kann kleiner und farblich gestaltet werden

Dies ist möglicherweise das innovativste Produkt, das Apple im Jahr 2023 herausbringt, und es könnte auch der Beginn der nächsten Ära für Apple sein. Apple Vision Pro wird am 2. Februar Ortszeit offiziell eingeführt. Welche Erfahrungen haben Sie mit diesem Produkt gemacht, das bei seiner Veröffentlichung im letzten Jahr für Aufsehen gesorgt hat? Kürzlich hat der ausländische Technologieredakteur Lance Ulanoff ein ausführliches Erfahrungstagebuch veröffentlicht, das es uns auf der anderen Seite des Ozeans ermöglichen könnte, dieses Produkt intuitiver und wahrer zu verstehen. CNMO hat auch Lances relevante Tagebücher zusammengestellt. Als nächstes bezieht sich das „Ich“ im Artikel auf Lance selbst. Der Artikel wurde gelöscht, hat jedoch keine Auswirkungen auf die Lektüre. Was auch immer Sie gehört oder gelesen haben

Die Split-Methode in String verwendet die Split()-Methode von String, um den String entsprechend den eingehenden Zeichen oder Strings aufzuteilen und das geteilte Array zurückzugeben. 1. Allgemeine Verwendung Bei Verwendung allgemeiner Zeichen wie @ oder als Trennzeichen: Stringaddress="Shanghai@Shanghai City@Minhang District@Wuzhong Road";String[]splitAddr=address.split("@");System .out. println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3
