PHP's substr_replace in TypeScript
How to use
Install via yarn add locutus and import:
import { substr_replace } from 'locutus/php/strings/substr_replace'.
Or with CommonJS: const { substr_replace } = require('locutus/php/strings/substr_replace')
Use a bundler that supports tree-shaking so you only ship the functions you actually use. Vite, webpack, Rollup, and Parcel all handle this. For server-side use this is less of a concern.
Examples
These examples are extracted from test cases that automatically verify our functions against their native counterparts.
| # | code | expected result |
|---|---|---|
| 1 | substr_replace('ABCDEFGH:/MNRPQR/', 'bob', 0) | 'bob' |
| 2 | var $var = 'ABCDEFGH:/MNRPQR/'
substr_replace($var, 'bob', 0, $var.length) | 'bob' |
| 3 | substr_replace('ABCDEFGH:/MNRPQR/', 'bob', 0, 0) | 'bobABCDEFGH:/MNRPQR/' |
| 4 | substr_replace('ABCDEFGH:/MNRPQR/', 'bob', 10, -1) | 'ABCDEFGH:/bob/' |
| 5 | substr_replace('ABCDEFGH:/MNRPQR/', 'bob', -7, -1) | 'ABCDEFGH:/bob/' |
| 6 | substr_replace('ABCDEFGH:/MNRPQR/', '', 10, -1) | 'ABCDEFGH://' |
Here's what our current TypeScript equivalent to PHP's substr_replace looks like.
export function substr_replace(str: string, replace: string, start: number, length?: number): string { |
Improve this function
Locutus is a community effort following The McDonald's Theory: we ship first iterations, hoping others will improve them. If you see something that could be better, we'd love your contribution.
View on GitHub · Edit on GitHub · View Raw
Star