Heim Backend-Entwicklung PHP-Tutorial 看到PHP的一道面试题, 做了上, 不知道还有没好点方法

看到PHP的一道面试题, 做了上, 不知道还有没好点方法

Jun 13, 2016 pm 01:09 PM
em gt lt max str

看到PHP的一道面试题, 做了下, 不知道还有没好点方法
题目如下,
类似这样的aaasssddd字符串,写个函数CutStr($str,$max)实现截取:
1)如果$max大于$str的长度则返回$str
2)不包含在长度计算范围。
例:
如果CutStr("aaasssddd",6) 则返回aaasss.
如果CutStr("aaasssddd",4) 则返回aaas,不包含标签

我的第一反应就是正则, 然后就...

var str = "aaa<em>sss</em>ddd";

function cutStr(str, max) {
    // 首先把<em>和</em>先给剔除, 然后记录他们的位置
    var reg = new RegExp("(.*?)<em>(.*?)</em>(.*?)"); 
    var emSub = str.indexOf("<em>");
    var em2Sub = str.indexOf("</em>");
    var newstr = str.replace(reg, "$1$2$3");

    // 如果不是数字或是负数, 或者大于字符长度, 直接返回原字符
    if (!/^\d+$/.test(max) || max >= newstr.length) return str; 

    newstr = newstr.substring(0, max);
    if (max <= emSub) { //小于三
        return newstr;
    } else if (max <= em2Sub - 4 && max > emSub) { // 大于三, 小于六时(注: -4 是为了减去第一个<em>占去的位置)
        var tempReg = new RegExp("(\\w{" + emSub + "})(\\w*?)");
        return newstr.replace(tempReg, "$1<em>$2");
    } else { // 大于六
        var tempReg = new RegExp("(\\w{" + emSub + "})(\\w{" + (em2Sub - emSub - 4) + "}?)(\\w*?)");
        return newstr.replace(tempReg, "$1<em>$2</em>$3");
    }
}

alert(cutStr(str, 7));?
Nach dem Login kopieren


觉得这个方法好笨, 有什么别的好点的方法吗?

想到了,, 原来这个这么简单,, 我把它想复杂了...

var str = "aaa<em>sss</em>ddd";  
  
function cutStr(str, max) {  
    var emSub = str.indexOf("<em>");  
    var em2Sub = str.indexOf("</em>");  
    // 如果不是数字或是负数, 或者大于字符长度, 直接返回原字符  
    if (!/^\d+$/.test(max) || max >= str.length - 9) return str; 
    else if(max > em2Sub-4) return str.substring(0, max + 9);
    else if(max > emSub) return str.substring(0, max + 4);
    else return str.substring(0, max);
}  
  
alert(cutStr(str, 7));  ?
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Dec 29, 2023 pm 02:27 PM

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

iPhone 15 Pro Max vs. iPhone 14 Pro Max: Was sind die Vergleiche und Unterschiede zwischen ihnen? iPhone 15 Pro Max vs. iPhone 14 Pro Max: Was sind die Vergleiche und Unterschiede zwischen ihnen? Sep 19, 2023 pm 08:29 PM

iPhone 15 Pro vs. iPhone 14 Pro: Vergleich der technischen Daten Hier ist ein Vergleich der technischen Daten zwischen iPhone 15 Pro Max und iPhone 14 Pro Max: iPhone 15 Pro Max iPhone 14 Pro Max Displaygröße 6,7 Zoll 6,7 Zoll Displaytechnologie Super Retina 2.000 Nits Abmessungen 6,29 x 3,5 Zoll 0,02 x 0,32 Zoll 6,33 x 3,06 x 0,31 Zoll Gewicht 221 Gramm 240 Gramm

Fix: Snipping-Tool funktioniert unter Windows 11 nicht Fix: Snipping-Tool funktioniert unter Windows 11 nicht Aug 24, 2023 am 09:48 AM

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

So verwenden Sie HEIF Max (48 MP) und optimieren den Speicher auf dem iPhone 14 Pro So verwenden Sie HEIF Max (48 MP) und optimieren den Speicher auf dem iPhone 14 Pro Sep 21, 2023 pm 02:13 PM

Die neueste iPhone Pro-Serie ist mit einem leistungsstarken 48-MP-Sensor ausgestattet, der äußerst detaillierte und kristallklare Fotos gewährleistet, um jeden kostbaren Moment festzuhalten. Ein potenzieller Nachteil ist jedoch die Größe von Bildern in voller Auflösung, insbesondere von Bildern im ProRAW-Format. Obwohl der maximale Speicherplatz, den das iPhone bietet, 512 GB beträgt, kann die Aufnahme vieler ProRAW-Bilder (jeweils etwa 75 MP) und Videos (440 MB pro Minute, 60 FPS) schnell Ihren Speicherplatz beanspruchen. Dies kann zu Problemen führen, wenn Sie Ihr iPhone als Hauptkamera für große Projekte oder Reisen verwenden möchten. Aber wäre es nicht großartig, wenn Sie hochauflösende 48-Megapixel-Fotos aufnehmen könnten, ohne sich über Speicherbeschränkungen Gedanken machen zu müssen? es geht schnell

Vergleich der Akkulaufzeiten aller iPhone 15-Serien: iPhone 15 Plus schlägt 15 Pro Max Vergleich der Akkulaufzeiten aller iPhone 15-Serien: iPhone 15 Plus schlägt 15 Pro Max Sep 30, 2023 pm 11:09 PM

Obwohl Apple die Videowiedergabezeit des iPhones einführen wird, um Benutzer darüber zu informieren, dass der iPhone-Akku fast leer ist. Aber normale Nutzer nutzen ihr iPhone nicht den ganzen Tag zum Anschauen von Videos. 7 iPhones im Alltagseinsatz auf Ausdauer getestet. Enthält 7 Modelle, darunter iPhone15ProMax, iPhone15Pro, iPhone15Plus, iPhone15, iPhone14ProMax, iPhone14 und iPhone13ProMax. Wenn wir einige alltägliche Anwendungen wie Spotify, Zoom, Tiktok, Headspace durchgehen und an Apps, Spiele usw. denken, können wir die Akkulaufzeit verschiedener iPhones sehen. Das

So erhalten Sie den maximalen Wert aus dem Stream in Java8 So erhalten Sie den maximalen Wert aus dem Stream in Java8 May 14, 2023 pm 03:43 PM

Der Stream von Java8 benötigt maxpublicstaticvoidmain(String[]args){Listlist=Arrays.asList(1,2,3,4,5,6);Integermax=list.stream().max((a,b)->{if ( a>b){return1;}elsereturn-1;}).get();System.out.println(max);}Hinweis: Die Größe wird hier durch positive und negative Zahlen und 0-Werte bestimmt. Anstatt es direkt zu schreiben if(a>b){returna;}elseretur

Details zum Samsung S25 Ultra enthüllt: gleiche Breite wie iPhone 16 Pro Max, aber mit größerem Bildschirm Details zum Samsung S25 Ultra enthüllt: gleiche Breite wie iPhone 16 Pro Max, aber mit größerem Bildschirm Aug 23, 2024 pm 09:33 PM

Laut Nachrichten vom 22. August werden immer mehr Details bekannt, während die Veröffentlichung von Samsungs Flaggschiff-Handy S25 Ultra der neuen Generation näher rückt. Der bekannte Blogger @ibinguniverse hat heute auf Weibo weitere Spezifikationen des S25 Ultra enthüllt. Das auffälligste ist, dass seine Gehäusebreite mit der des Apple iPhone 16 Pro Max identisch ist, beide 77,6 mm. 1. Dank der weiteren Optimierung des Rahmendesigns durch Samsung wurde die Bildschirmgröße des S25 Ultra auf 6,86 Zoll erhöht, während die gleiche Breite wie beim iPhone 16 Pro Max beibehalten wurde, was den Benutzern ein noch intensiveres visuelles Erlebnis bietet. Der Blogger wies im Kommentarbereich weiter darauf hin, dass die schwarzen Ränder des S25 Ultra besser seien als die des iPhone 16 Pro Max&

So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone Jul 29, 2023 am 08:22 AM

Teil 1: Erste Schritte zur Fehlerbehebung Überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen Lösungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt möglicherweise nicht an Ihrem Gerät; die Server von Apple sind möglicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgemäß funktioniert. Wenn es ein Problem gibt, können Sie nur warten, bis Apple es behebt. Überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem „Verbindung zum AppStore nicht möglich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

See all articles